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

主要過(guò)程:
1.記下分配給你的license key。
2.在項(xiàng)目中安裝newrelic庫(kù)。
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ě)項(xiàng)目的名字或者喜歡的任意名字
*/
app_name : ['My Application'],
/**
* 你的 New Relic 授權(quán) key
*/
license_key : 'license key here',
logging : {
/**
* 日志等級(jí). 'trace' 對(duì)于 New Relic 診斷問(wèn)題時(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”,開(kāi)始監(jiān)聽(tīng)?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ù),想延長(zhǎng)時(shí)間和一些高級(jí)功能就是付費(fèi)版的節(jié)奏了。
最常用的就是“Overview”概況頁(yè)面。

其中:
Web transactions time:這里能看到不同層面的交互時(shí)間,可以看圖標(biāo)下方的色塊代表不同的含義,比較有用的就是響應(yīng)時(shí)間。
Apdex score:應(yīng)用性能指數(shù),就是一打分,藍(lán)色區(qū)域表示最好,黃色區(qū)域最差。
Transactions:表示各個(gè)交互的處理時(shí)間,最耗時(shí)的在最上,從這里能看清哪個(gè)url的訪問(wèn)是耗時(shí)最長(zhǎng)的,可以到Transactions頁(yè)面中詳細(xì)查看交互性能展示。
Error rate:錯(cuò)誤率。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(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方法使用說(shuō)明
這篇文章主要介紹了node.js中的http.response.addTrailers方法使用說(shuō)明,本文介紹了http.response.addTrailers的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
如何解決安裝websocket還是報(bào)錯(cuò)Cannot find module'ws&apos
這篇文章主要介紹了如何解決安裝websocket還是報(bào)Cannot find module'ws'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
AngularJS + Node.js + MongoDB開(kāi)發(fā)的基于高德地圖位置的通訊錄
這篇文章主要介紹了AngularJS + Node.js + MongoDB開(kāi)發(fā)的基于高德地圖位置的通訊錄,需要的朋友可以參考下2015-01-01
簡(jiǎn)單模擬node.js中require的加載機(jī)制
大家都知道Node 采用的模塊化結(jié)構(gòu)是按照 CommonJS 規(guī)范,模塊與文件是一一對(duì)應(yīng)關(guān)系,即加載一個(gè)模塊,實(shí)際上就是加載對(duì)應(yīng)的一個(gè)模塊文件。這篇文章顯示簡(jiǎn)單的介紹了nodejs中require的加載機(jī)制,而后簡(jiǎn)單的模擬require函數(shù),有需要的朋友們下面來(lái)一起看看吧。2016-10-10
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ù)器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
使用Node和Puppeteer實(shí)現(xiàn)批量生成PDF
這篇文章主要為大家詳細(xì)介紹了使用Node.js和Puppeteer庫(kù)將網(wǎng)頁(yè)內(nèi)容轉(zhuǎn)換為PDF文件的過(guò)程,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解下2024-11-11

