在CentOS上監控Node.js運行狀態有多種方法,以下是一些常用的工具和步驟:
PM2是一個功能強大的Node.js進程管理工具,它可以幫助你監控和管理Node.js應用的運行狀態。以下是使用PM2進行監控的基本步驟:
安裝PM2:
npm install pm2 -g
啟動應用:
pm2 start app.js --watch
使用 --watch
參數可以讓PM2監聽應用目錄的變化,并在變化時自動重啟應用。
查看應用狀態:
pm2 list
這個命令會列出所有由PM2管理的應用及其狀態。
查看應用日志:
pm2 logs
或者查看特定應用的日志:
pm2 logs app_name
監控應用性能:
PM2提供了豐富的性能指標,可以通過 pm2 monit
命令來監控應用的內存、CPU使用情況等。
Systemd是CentOS上常用的系統和服務管理器,你可以通過創建和配置Systemd服務來監控和管理Node.js應用。
創建Systemd服務文件:
創建一個名為 kenniu.service
的文件,并添加以下內容:
[Unit]
Description=My Node.js App
After=network.target
[Service]
ExecStart=/usr/bin/node /path/to/entry.js
Restart=always
User=MrKennode
[Install]
WantedBy=multi-user.target
啟動服務:
sudo systemctl start kenniu
查看服務狀態:
sudo systemctl status kenniu
啟用服務:
sudo systemctl enable kenniu
Node.js提供了內置的 process
和 os
模塊,可以用來獲取進程和系統的信息。此外,還可以使用第三方庫如 node-inspector
來進行更詳細的監控。
使用process模塊:
const memoryUsage = process.memoryUsage();
console.log(memoryUsage);
使用os模塊:
const os = require('os');
const totalMem = os.totalmem();
const freeMem = os.freemem();
console.log(`Total Memory: ${totalMem}, Free Memory: ${freeMem}`);
使用node-inspector:
npm install -g node-inspector
node-inspector
你可以通過查看日志文件來監控Node.js應用的運行狀態。
查看系統日志:
journalctl -u your-nodejs-service-name -t
查看應用程序的日志文件:
cat logs/app.log
通過結合使用PM2、Systemd、內置模塊、第三方庫和日志記錄工具,你可以有效地監控和管理CentOS上的Node.js應用。