debian

如何通过日志监控Debian Node.js状态

小樊
49
2025-09-08 16:04:17
栏目: 编程语言

以下是通过日志监控Debian上Node.js状态的方法:

  1. 基础日志输出
    在代码中使用console.log/console.error输出日志,通过重定向到文件监控:
    node app.js > logs/output.log 2>&1

  2. 使用日志库

    • Winston:支持多传输(文件、控制台等)、日志级别配置,示例:
      const winston = require('winston');
      const logger = winston.createLogger({
        level: 'info',
        transports: [
          new winston.transports.File({ filename: 'error.log', level: 'error' }),
          new winston.transports.File({ filename: 'combined.log' })
        ]
      });
      
    • Bunyan:输出结构化JSON日志,适合集成分析工具。
  3. 进程管理工具

    • PM2:监控应用状态、日志实时输出,支持日志轮转:
      pm2 start app.js --name "my-app"pm2 logs查看日志。
  4. 系统日志集成
    配置Node.js将日志发送至系统日志服务(如syslog),需在代码中指定传输方式。

  5. 高级监控方案

    • ELK Stack:通过Filebeat采集日志,Elasticsearch存储,Kibana可视化分析。
    • 第三方服务:如Loggly、Sentry,提供实时告警和日志分析。
  6. 日志轮转
    使用logrotate工具定期压缩/删除旧日志,避免文件过大:

    # 示例配置(/etc/logrotate.d/nodejs):
    /path/to/logs/*.log {
      daily
      rotate 7
      compress
      missingok
      notifempty
    }
    

根据需求选择方案,生产环境推荐PM2+日志库+日志轮转组合。

0
看了该问题的人还看了