溫馨提示×

如何利用Debian Node.js日志監控系統

小樊
40
2025-09-06 15:45:19
欄目: 編程語言

以下是在Debian上利用Node.js日志監控系統的常用方法:

一、基礎日志管理

  • 重定向日志輸出:在啟動應用時,通過>2>&1將標準輸出和錯誤輸出重定向到文件,如node app.js > logs/output.log 2>&1。
  • 使用日志庫:集成Winston、Bunyan等庫,支持多級別日志、格式化輸出和輪轉策略,示例代碼:
    // Winston示例
    const winston = require('winston');
    const logger = winston.createLogger({
      level: 'info',
      format: winston.format.json(),
      transports: [
        new winston.transports.File({ filename: 'error.log', level: 'error' }),
        new winston.transports.File({ filename: 'combined.log' })
      ]
    });
    logger.info('應用啟動成功');
    

二、實時監控工具

  • PM2:支持進程守護、日志實時查看和輪轉,安裝后可通過pm2 logs命令查看日志。
  • Tail命令:通過tail -f實時追蹤日志文件變化,結合grep可過濾關鍵詞。

三、集中式監控系統

  • ELK Stack(Elasticsearch + Logstash + Kibana)
    • 用Logstash采集日志,Elasticsearch存儲,Kibana可視化,需在Node.js中配置Winston將日志發送至Logstash。
  • Prometheus + Grafana
    • Prometheus收集指標,Grafana創建儀表板,需在Node.js中集成prom-client庫暴露指標端點。

四、系統集成方案

  • 配置系統日志服務:將Node.js日志接入syslog或journald,通過rsyslog等工具管理。
  • 第三方監控工具:如Datadog、Loggly,提供開箱即用的日志分析和告警功能。

五、日志輪轉與優化

  • Logrotate:通過配置/etc/logrotate.d/目錄下的規則,定期壓縮、刪除舊日志。

根據實際需求選擇工具,開發環境可優先用tailPM2,生產環境建議結合ELK或Prometheus實現集中監控。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女