詳解Node.js項(xiàng)目APM監(jiān)控之New Relic
現(xiàn)在上一個(gè)項(xiàng)目,如果沒有APM監(jiān)控服務(wù)或應(yīng)用的運(yùn)行性能參數(shù),等于是一架沒有盲降系統(tǒng)的飛機(jī)正在盲降,結(jié)果會(huì)很悲催。出現(xiàn)了訪問失效等問題時(shí),都很難判定是性能瓶頸還是一個(gè)藏的深的bug,匯報(bào)的時(shí)候一頓眼暈,這樣的結(jié)果肯定是要被人分分鐘的各種撕。
目前還沒有像樣的給node.js項(xiàng)目應(yīng)用的APM開源項(xiàng)目,暫且先羨慕嫉妒下給java用的PinPoint。
不用開源的就用專業(yè)的APM提供商的產(chǎn)品,先解決問題,國內(nèi)有很多專業(yè)提供商,也是不錯(cuò)。
國外的New Relic也是被推薦的一家,集成進(jìn)node.js特別方便,監(jiān)控功能齊全。
創(chuàng)建APM監(jiān)控
要使用的話,首先是去首頁注冊一個(gè)賬戶,注冊完后就會(huì)顯示一個(gè)“Get started with New Relic”頁面,在里面選擇node.js。
然后按照頁面上的步驟一步一步配置。

主要過程:
1.記下分配給你的license key。
2.在項(xiàng)目中安裝newrelic庫。
npm install newrelic --save
3.將node_modules/newrelic下的newrelic.js復(fù)制到項(xiàng)目的根目錄下,也就是和node_modules同級(jí)。
4.配置newrelic.js文件。
/**
* New Relic 客戶配置文件.
*
* 參考 lib/config.defaults.js 獲得更多的配置.
*/
exports.config = {
/**
* 應(yīng)用名稱數(shù)組,就寫項(xiàng)目的名字或者喜歡的任意名字
*/
app_name : ['My Application'],
/**
* 你的 New Relic 授權(quán) key
*/
license_key : 'license key here',
logging : {
/**
* 日志等級(jí). 'trace' 對于 New Relic 診斷問題時(shí)是最有用的
* 'info' 級(jí)別以及更高的應(yīng)該應(yīng)用于生產(chǎn)應(yīng)用
*/
level : 'info'
}
};
5.在啟動(dòng)腳本的第一行加入代碼
require('newrelic');
6.點(diǎn)擊“l(fā)istening your application”,開始監(jiān)聽?wèi)?yīng)用并收數(shù)據(jù)。
7.運(yùn)行項(xiàng)目,5分鐘后,進(jìn)到你的APM控制臺(tái)中,會(huì)看到一個(gè)已a(bǔ)pplication name命名的監(jiān)控項(xiàng),進(jìn)去即能看到該項(xiàng)目的性能監(jiān)控?cái)?shù)據(jù)表。
常用
因?yàn)槭敲赓M(fèi)版,只能看24小時(shí)的數(shù)據(jù),想延長時(shí)間和一些高級(jí)功能就是付費(fèi)版的節(jié)奏了。
最常用的就是“Overview”概況頁面。

其中:
Web transactions time:這里能看到不同層面的交互時(shí)間,可以看圖標(biāo)下方的色塊代表不同的含義,比較有用的就是響應(yīng)時(shí)間。
Apdex score:應(yīng)用性能指數(shù),就是一打分,藍(lán)色區(qū)域表示最好,黃色區(qū)域最差。
Transactions:表示各個(gè)交互的處理時(shí)間,最耗時(shí)的在最上,從這里能看清哪個(gè)url的訪問是耗時(shí)最長的,可以到Transactions頁面中詳細(xì)查看交互性能展示。
Error rate:錯(cuò)誤率。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
nodejs npm install全局安裝和本地安裝的區(qū)別
這篇文章主要介紹了nodejs npm install 全局安裝和非全局安裝的區(qū)別,即帶參數(shù)-g和不帶參數(shù)-g安裝的區(qū)別,需要的朋友可以參考下2014-06-06
node.js中的http.response.addTrailers方法使用說明
這篇文章主要介紹了node.js中的http.response.addTrailers方法使用說明,本文介紹了http.response.addTrailers的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
如何解決安裝websocket還是報(bào)錯(cuò)Cannot find module'ws&apos
這篇文章主要介紹了如何解決安裝websocket還是報(bào)Cannot find module'ws'問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
AngularJS + Node.js + MongoDB開發(fā)的基于高德地圖位置的通訊錄
這篇文章主要介紹了AngularJS + Node.js + MongoDB開發(fā)的基于高德地圖位置的通訊錄,需要的朋友可以參考下2015-01-01
Express中使用Swagger的實(shí)現(xiàn)示例
swagger-express是一個(gè)規(guī)范和完整的框架實(shí)現(xiàn),本文主要介紹了Express中使用Swagger的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
nodejs 如何手動(dòng)實(shí)現(xiàn)服務(wù)器
這篇文章主要介紹了nodejs 如何手動(dòng)實(shí)現(xiàn)服務(wù)器,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
使用Node和Puppeteer實(shí)現(xiàn)批量生成PDF
這篇文章主要為大家詳細(xì)介紹了使用Node.js和Puppeteer庫將網(wǎng)頁內(nèi)容轉(zhuǎn)換為PDF文件的過程,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解下2024-11-11

