在 Debian 上监控 Node.js 日志,常见做法取决于你是怎么运行 Node.js 的(裸跑 / PM2 / systemd / Docker 等)。下面按场景给你一套实用方案。
常见位置:
logs/~/nodejs.logjournalctl先看启动命令或代码:
ps aux | grep node
最基础也最常用:
tail -f /path/to/nodejs.log
多文件同时看:
tail -f app.log error.log
只看错误:
tail -f app.log | grep ERROR
示例 service:
# /etc/systemd/system/nodeapp.service
[Unit]
Description=Node.js App
After=network.target
[Service]
ExecStart=/usr/bin/node /var/www/app/index.js
WorkingDirectory=/var/www/app
User=node
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodeapp
[Install]
WantedBy=multi-user.target
journalctl -u nodeapp -f
按时间:
journalctl -u nodeapp --since "10 min ago"
npm install -g pm2
pm2 start index.js --name myapp
pm2 logs
pm2 logs myapp
实时 + 错误:
pm2 logs myapp --err
sudo apt install logrotate
示例:
/var/www/app/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
}
适合多台服务器。
FATAL / OutOfMemory 时报警# 看 Node 是否崩了
dmesg | grep node
# 看端口
ss -lntp | grep node
# CPU / 内存
top -p $(pgrep node)
| 场景 | 推荐方式 |
|---|---|
| 本地开发 | tail -f |
| 生产服务 | systemd + journalctl |
| Node 专用 | PM2 |
| 多服务 | ELK / Loki |
如果你愿意,可以告诉我:
我可以给你定制一套监控配置。