温馨提示×

ubuntu nodejs日志怎监控

小樊
38
2026-09-12 10:45:34
栏目: 编程语言

在 Ubuntu 上监控 Node.js 日志,常见做法可以按日志来源和监控方式来分。下面给你一套实用方案,从简单到专业。


一、最基础:直接看日志文件

1. 如果 Node.js 输出到文件

tail -f /path/to/node.log

2. 如果通过 PM2 启动

pm2 logs
pm2 logs appname

3. 如果通过 systemd 启动

journalctl -u yourapp.service -f

二、用 PM2(最推荐,Node.js 常用)

安装

npm install -g pm2

启动并带日志

pm2 start app.js --name myapp
pm2 logs myapp

日志位置

~/.pm2/logs/

日志管理

pm2 install pm2-logrotate

三、用 systemd(生产服务器常用)

服务文件示例

[Unit]
Description=Node App

[Service]
ExecStart=/usr/bin/node /var/www/app/app.js
Restart=always
User=www-data
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=node-app

[Install]
WantedBy=multi-user.target

查看实时日志

journalctl -u node-app -f

四、日志聚合 & 监控(进阶)

1. 文件 + logrotate

/etc/logrotate.d/node-app

防止日志爆盘。

2. 集中式监控

  • ELK(Elasticsearch + Logstash + Kibana)
  • Grafana + Loki
  • Fluentd + S3

适合多台服务器。


五、错误告警(很重要)

方式一:Node.js 内部捕获

process.on('uncaughtException', (err) => {
  console.error('Error:', err);
});

process.on('unhandledRejection', (reason) => {
  console.error('Unhandled:', reason);
});

方式二:外部监控

  • Sentry
  • Prometheus + Alertmanager
  • Zabbix

六、推荐组合(实战)

✅ 小项目
PM2 + pm2 logs

✅ 生产服务器
systemd + journalctl + logrotate

✅ 多服务 / 微服务
PM2 + Loki + Grafana


如果你愿意,可以告诉我:

  • Node.js 是怎么启动的(PM2 / systemd / docker)
  • 是本地还是服务器
  • 想监控“错误”还是“访问量”

我可以直接给你可复制的配置。

0 踩