温馨提示×

ubuntu nodejs日志怎么监控

小樊
50
2026-09-06 15:07:56
栏目: 编程语言

在 Ubuntu 上监控 Node.js 日志,通常有系统级日志、应用日志、实时监控工具、集中式日志方案几种思路。下面按常见场景给你一个实用清单。


一、先看 Node.js 日志写在哪里

1. 控制台日志(最常见)

console.log('info')
console.error('error')

运行时直接输出到终端或 systemd 日志。

2. 文件日志

const fs = require('fs');
fs.appendFileSync('app.log', 'something happened\n');

或用日志库(winston / pino / log4js)。


二、实时查看日志(最常用)

1. 直接看终端

node app.js

2. 查看日志文件

tail -f app.log

3. 使用 systemd(推荐生产环境)

如果你用 systemd 管理 Node.js:

sudo journalctl -u node-app -f

查看错误:

sudo journalctl -u node-app -p err -f

三、Node.js 进程监控(防崩溃)

1. PM2(最推荐)

npm install -g pm2
pm2 start app.js
pm2 logs
pm2 monit

查看某个应用:

pm2 logs app

2. Nodemon(开发环境)

npm install -g nodemon
nodemon app.js

四、日志级别 & 结构化日志(更好监控)

使用 winston 示例

const winston = require('winston');

const logger = winston.createLogger({
  transports: [
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

logger.error('db failed');

五、集中式 / 高级监控(生产推荐)

1. 日志收集

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

2. APM / 错误监控

  • Sentry(前端 + Node 错误)
  • Datadog
  • Prometheus + Grafana(指标)

六、常见排错命令

# 查看 Node 进程
ps aux | grep node

# 查看端口
sudo lsof -i:3000

# 查看系统日志
dmesg | tail

七、简单推荐方案

场景 推荐
本地开发 nodemon + console
服务器运行 PM2 + journalctl
生产环境 PM2 + winston + Loki/Sentry

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

  • 是开发还是生产
  • 用没用 PM2 / Docker / Nginx
  • 日志是 文件还是控制台

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

0 踩