詳解Node.js項目APM監(jiān)控之New Relic
現(xiàn)在上一個項目,如果沒有APM監(jiān)控服務(wù)或應(yīng)用的運行性能參數(shù),等于是一架沒有盲降系統(tǒng)的飛機正在盲降,結(jié)果會很悲催。出現(xiàn)了訪問失效等問題時,都很難判定是性能瓶頸還是一個藏的深的bug,匯報的時候一頓眼暈,這樣的結(jié)果肯定是要被人分分鐘的各種撕。
目前還沒有像樣的給node.js項目應(yīng)用的APM開源項目,暫且先羨慕嫉妒下給java用的PinPoint。
不用開源的就用專業(yè)的APM提供商的產(chǎn)品,先解決問題,國內(nèi)有很多專業(yè)提供商,也是不錯。
國外的New Relic也是被推薦的一家,集成進node.js特別方便,監(jiān)控功能齊全。
創(chuàng)建APM監(jiān)控
要使用的話,首先是去首頁注冊一個賬戶,注冊完后就會顯示一個“Get started with New Relic”頁面,在里面選擇node.js。
然后按照頁面上的步驟一步一步配置。
主要過程:
1.記下分配給你的license key。
2.在項目中安裝newrelic庫。
npm install newrelic --save
3.將node_modules/newrelic下的newrelic.js復(fù)制到項目的根目錄下,也就是和node_modules同級。
4.配置newrelic.js文件。
/** * New Relic 客戶配置文件. * * 參考 lib/config.defaults.js 獲得更多的配置. */ exports.config = { /** * 應(yīng)用名稱數(shù)組,就寫項目的名字或者喜歡的任意名字 */ app_name : ['My Application'], /** * 你的 New Relic 授權(quán) key */ license_key : 'license key here', logging : { /** * 日志等級. 'trace' 對于 New Relic 診斷問題時是最有用的 * 'info' 級別以及更高的應(yīng)該應(yīng)用于生產(chǎn)應(yīng)用 */ level : 'info' } };
5.在啟動腳本的第一行加入代碼
require('newrelic');
6.點擊“l(fā)istening your application”,開始監(jiān)聽?wèi)?yīng)用并收數(shù)據(jù)。
7.運行項目,5分鐘后,進到你的APM控制臺中,會看到一個已application name命名的監(jiān)控項,進去即能看到該項目的性能監(jiān)控數(shù)據(jù)表。
常用
因為是免費版,只能看24小時的數(shù)據(jù),想延長時間和一些高級功能就是付費版的節(jié)奏了。
最常用的就是“Overview”概況頁面。
其中:
Web transactions time:這里能看到不同層面的交互時間,可以看圖標(biāo)下方的色塊代表不同的含義,比較有用的就是響應(yīng)時間。
Apdex score:應(yīng)用性能指數(shù),就是一打分,藍(lán)色區(qū)域表示最好,黃色區(qū)域最差。
Transactions:表示各個交互的處理時間,最耗時的在最上,從這里能看清哪個url的訪問是耗時最長的,可以到Transactions頁面中詳細(xì)查看交互性能展示。
Error rate:錯誤率。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
nodejs 十六進制字符串型數(shù)據(jù)與btye型數(shù)據(jù)相互轉(zhuǎn)換
這篇文章主要介紹了nodejs 十六進制字符串型數(shù)據(jù)與btye型數(shù)據(jù)相互轉(zhuǎn)換,需要的朋友可以參考下2018-07-07socket.io學(xué)習(xí)教程之深入學(xué)習(xí)篇(三)
這篇文章更加深入的給大家介紹了socket.io的相關(guān)資料,之前已經(jīng)介紹了socket.io的基本教程和應(yīng)用,本文更為深入的來介紹下socket.io的使用,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04Nodejs-cluster模塊知識點總結(jié)及實例用法
在本篇文章里小編給大家整理的是一篇關(guān)于Nodejs-cluster模塊知識點總結(jié)及實例用法,有興趣的朋友們可以跟著學(xué)習(xí)下。2021-12-12Nodejs實現(xiàn)內(nèi)網(wǎng)穿透服務(wù)
很多人都不知道什么是內(nèi)網(wǎng)穿透,就是公網(wǎng)客戶端,可以訪問局域網(wǎng)內(nèi)的服務(wù),本文詳細(xì)的介紹了原理以及實現(xiàn),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05