在centos環(huán)境下,監(jiān)控node.js應(yīng)用的運(yùn)行狀態(tài)有多種途徑。本文將介紹幾種常用的方法,幫助您選擇最合適的方案。
-
借助pm2進(jìn)程管理器監(jiān)控Node.JS應(yīng)用: pm2是一款功能強(qiáng)大的Node.js進(jìn)程管理器,支持啟動(dòng)、停止、管理應(yīng)用,并提供實(shí)時(shí)的CPU和內(nèi)存使用率監(jiān)控。
安裝pm2:
npm install pm2 -g
使用pm2啟動(dòng)應(yīng)用(假設(shè)您的應(yīng)用入口文件為app.js):
pm2 start app.js --name "my-app"
查看應(yīng)用狀態(tài):
pm2 status
查看實(shí)時(shí)日志:
pm2 logs my-app
監(jiān)控資源使用情況:
pm2 monit
-
利用systemd服務(wù)管理及監(jiān)控: 如果您的Node.js應(yīng)用以服務(wù)形式運(yùn)行,systemd是理想的管理工具,配合journalctl命令查看日志。
創(chuàng)建systemd服務(wù)文件(/etc/systemd/system/my-app.service):
sudo vi /etc/systemd/system/my-app.service
文件內(nèi)容如下(請(qǐng)?zhí)鎿Q /path/to/your/app.js,/path/to/your/app,your-user,your-group 為您的實(shí)際路徑和用戶組):
[Unit] Description=Node.js Application Service After=network.target [Service] ExecStart=/usr/bin/node /path/to/your/app.js WorkingDirectory=/path/to/your/app User=your-user Group=your-group Environment=NODE_ENV=production Restart=always [Install] WantedBy=multi-user.target
啟動(dòng)服務(wù):
sudo systemctl start my-app
查看服務(wù)狀態(tài):
sudo systemctl status my-app
查看服務(wù)日志:
sudo journalctl -u my-app
-
使用top或htop命令實(shí)時(shí)查看進(jìn)程信息: top和htop命令可以實(shí)時(shí)顯示系統(tǒng)進(jìn)程及資源使用情況。您可以找到Node.js進(jìn)程的PID,并查看其資源占用。
使用top:
top
或安裝并使用htop (若未安裝):
sudo yum install htop htop
-
借助nmon或atop進(jìn)行系統(tǒng)級(jí)性能監(jiān)控: nmon和atop是強(qiáng)大的系統(tǒng)監(jiān)控工具,可以監(jiān)控系統(tǒng)整體性能,包括CPU、內(nèi)存、磁盤I/O等。
安裝nmon:
sudo yum install nmon
運(yùn)行nmon:
nmon
安裝atop:
sudo yum install atop
運(yùn)行atop:
atop
根據(jù)您的實(shí)際需求選擇合適的監(jiān)控方法。 pm2適合需要詳細(xì)監(jiān)控和日志管理的用戶;systemd更適合將Node.js應(yīng)用作為系統(tǒng)服務(wù)運(yùn)行的情況;而top、htop、nmon和atop則適用于需要監(jiān)控整個(gè)系統(tǒng)性能的場景。