在 Linux 系統中,有多種方法可以監控 Node.js 應用程序的運行狀態。以下是一些常用的工具和方法:
top 或 htop 命令: 這些命令可以顯示系統的實時進程信息,包括 CPU 和內存使用情況。你可以通過搜索進程名稱或 PID 來找到你的 Node.js 應用程序。
top
# 或者
htop
pm2: PM2 是一個流行的 Node.js 進程管理器,它可以幫助你管理和守護 Node.js 應用程序。它可以監控應用的 CPU 和內存使用情況,并且可以在應用崩潰時自動重啟。
安裝 PM2:
npm install pm2 -g
使用 PM2 啟動你的應用:
pm2 start app.js
查看應用狀態:
pm2 status
監控資源使用情況:
pm2 monit
nodemon: 雖然 nodemon 主要用于開發環境中自動重啟服務器,但它也可以用來監控文件變化并重啟應用。
安裝 nodemon:
npm install nodemon -g
使用 nodemon 啟動你的應用:
nodemon app.js
systemd: 如果你的 Node.js 應用程序作為服務運行,你可以使用 systemd 來管理它。你可以創建一個 systemd 服務單元文件來監控和管理你的 Node.js 應用程序。
創建一個 systemd 服務文件 /etc/systemd/system/my-node-app.service
:
[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
Restart=always
[Install]
WantedBy=multi-user.target
然后啟動并啟用服務:
sudo systemctl start my-node-app
sudo systemctl enable my-node-app
檢查服務狀態:
sudo systemctl status my-node-app
日志文件: 通過查看 Node.js 應用程序的日志文件,你可以了解應用程序的運行狀態和可能出現的錯誤。確保你的應用程序有適當的日志記錄機制。
自定義監控腳本: 你可以編寫自己的腳本來監控 Node.js 應用程序的特定指標,比如 HTTP 請求速率、數據庫連接數等,并將這些指標發送到監控系統或者記錄到日志文件中。
選擇哪種方法取決于你的具體需求和環境。對于生產環境,通常推薦使用 PM2 或 systemd 來確保應用程序的穩定運行和自動恢復。