温馨提示×

debian nodejs日志怎么分析

小樊
38
2026-09-01 06:23:15
栏目: 编程语言

在 Debian 上分析 Node.js 日志,通常可以从日志来源、日志内容、分析工具、常见问题定位几个方面入手。下面给你一个比较系统的思路。


一、Node.js 日志一般来自哪里

1. 应用自身输出

  • console.log / console.error
  • 日志库(常用):
    • winston
    • pino
    • bunyan
    • morgan(HTTP 请求日志)

2. 系统 / 进程管理

  • systemd(最常见)
    journalctl -u your-node-service.service
    journalctl -u your-node-service.service -f
    
  • PM2
    pm2 logs
    pm2 logs app_name
    
  • Docker
    docker logs container_name
    docker logs -f container_name
    

3. 反向代理(如有)

  • Nginx / Apache 日志
    /var/log/nginx/access.log
    /var/log/nginx/error.log
    

二、快速分析常用命令(Debian)

1. 实时查看日志

tail -f /var/log/your-app.log
journalctl -u node-app -f

2. 查找错误

grep -i error /var/log/your-app.log
grep -i "exception" /var/log/your-app.log

3. 按时间过滤

journalctl -u node-app --since "2026-01-20 10:00" --until "2026-01-20 11:00"

4. 统计错误数量

grep -c "Error" /var/log/your-app.log

5. 查看内存 / CPU 占用

top
htop
pm2 monit

三、Node.js 常见日志问题 & 分析思路

1. 进程频繁重启

可能原因:

  • 未捕获异常
  • 内存溢出(OOM)

查看:

journalctl -u node-app | grep -i "heap"
journalctl -u node-app | grep -i "signal"

2. 接口慢 / 超时

重点看:

  • 请求日志(morgan / pino)
  • 数据库慢查询
  • Event Loop 阻塞

示例:

grep -i "timeout" /var/log/your-app.log

3. 内存泄漏

关注:

  • heap out of memory
  • RSS 持续增长

建议:

  • 使用 node --inspect
  • 用 Chrome DevTools 分析 heap snapshot

四、推荐的分析工具

本地

  • less
  • grep / awk / sed
  • htop, iotop

Node 专用

  • pm2
  • nodemon(开发)
  • clinic.js(性能分析)
npm install -g clinic
clinic doctor -- node app.js

日志集中化(生产建议)

  • ELK(Elasticsearch + Logstash + Kibana)
  • Loki + Grafana
  • Datadog / Sentry

五、一个标准生产日志建议

时间戳 | 级别 | 服务名 | 请求ID | 消息
2026-01-20 10:12:01 | ERROR | user-service | req-123 | DB connection failed

工具推荐:pino + pino-pretty


六、如果你愿意,我可以更具体地帮你

你可以告诉我:

  1. 你的 Node.js 是怎么跑的(systemd / pm2 / docker)
  2. 日志文件路径或示例内容
  3. 你想解决的具体问题(崩溃 / 慢 / 报错)

我可以直接帮你看日志、定位问题、给优化方案

0