Node.js 性能平臺使用 tnvm
進行版本維護,采用如下命令安裝 tnvm
。
wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash
將 tnvm
添加到系統命令。根據上面命令最后的提示,針對不同操作系統,進行手工操作。例如Linux 系統下。
source ~/.bashrc
利用 tnvm 安裝需要版本的運行時。請參考 Node.js性能平臺運行時版本選擇合適的運行時版本。
執行以下命令,查看遠端版本。
tnvm ls-remote alinode
安裝需要版本:版本對應關系
請根據版本對應關系,選擇合適(與當前應用使用的 Node.js 版本一致)的alinode版本。
tnvm install alinode-vx.y.z
執行以下命令,使用vx.y.z的運行時。
tnvm use alinode-vx.y.z
2. 安裝 agenthub
agenthub 是為 Node.js 性能平臺的常駐代理服務,可以幫助執行一些監控和診斷的操作,并且它包含一組 Node.js 性能平臺服務執行任務所需要的命令集合,Node.js 性能平臺有且僅有執行這些命令的權限。
agenthub 同時是一個 npm 命令行工具,通過如下命令可以完成安裝:
npm install @alicloud/agenthub -g
推薦阿里云用戶使用 cnpm安裝任何npm模塊
3. 配置和啟動 agenthub
agenthub需要一個配置文件來進行使用,agenthub僅會在配置指定下的目錄執行命令或讀取日志。
極簡配置
最簡單的配置只需要傳入appid和secret即可,格式如下:
{
"appid": "<yourAPPID>",
"secret": "<yourSecret>"
}
其中您的應用ID和您的應用Secret請在應用設置
頁面獲取。將上述配置保存為config.json
,完成配置后,請使用以下命令進行執行:
$ agenthub start config.json
agenthub將以常駐進程的方式執行,agenthub 運行日志文件為 ~/.agenthub.log
文件中。如果 agenthub啟動不成功,控制臺將無法看到系統和進程詳細信息,您可以以DEBUG 方式啟動 agenthub,查看 ~/.agenthub.log
日志來確定異常。
DEBUG=* agenthub start config.json
部署完成后,請訪問 https://node.console.aliyun.com/查看您的應用詳情。如果一切正常,稍等片刻(1分鐘)即可收到你的應用性能數據。
詳細配置
詳細配置如下所示:
注意:logdir
應該與啟動應用時設置的環境變量NODE_LOG_DIR的值一致。
{
"appid": "<yourAPPID>",
"secret": "<yourSecret>",
"logdir": "</path/to/your/log/dir>",
"error_log": [
"</path/to/your/error.log>",
"您的應用在業務層面產生的異常日志的路徑",
"例如:/path/.logs/error.#YYYY#-#MM#-#DD#-#HH#.log",
"可選"
],
"packages": [
"</path/to/your/package.json>",
"可以輸入多個package.json的路徑",
"可選"
],
"disks": [
"/",
"/home/user"
"可選"
],
"agentidMode": "IP"
}
error_log
配置完成后您可以在 Node.js 性能平臺上看到規整后的錯誤日志信息;packages
配置完成后您可以看到項目的版本依賴,以及對應的安全風險提示;disks
配置需要監控的磁盤,可以在系統監控監控數據
查看;agentidMode
設置為IP
時,實例ID會添加部分IP信息,主要用于多個容器hostname
相同的場景。該配置為可選。
配置中的#YYYY#、#MM#、#DD#、#HH#是通配符,如果您的異常日志是按時間生成的,請使用它。
4. 啟動應用
使用安裝好的Node.js性能平臺的runtime啟動并監控應用。
直接啟動應用
NODE_LOG_DIR=/tmp ENABLE_NODE_LOG=YES node app.js
使用pm2管理的應用
NODE_LOG_DIR=/tmp ENABLE_NODE_LOG=YES pm2 start app.js
如果在控制臺無法查看到監控數據,請參考常見問題章節。