温馨提示×

Debian JS日志如何监控

小樊
33
2025-12-08 11:11:45
栏目: 编程语言

Debian 上监控 JavaScript 日志的实用方案

一 场景与总体架构

  • 前端 JS(浏览器)侧重运行期错误与用户行为,建议接入Sentry等前端异常监控,并在控制台与开发者工具观察错误堆栈与网络请求。
  • 后端 Node.js(服务端)侧重日志采集、检索与告警,建议用Winston/Bunyan/Morgan输出结构化日志,配合systemd/journalctl或写入文件,再由ELK(Elasticsearch/Logstash/Kibana)/Graylog集中分析与可视化。

二 快速上手 本地与实时查看

  • 系统与服务日志
    • 实时查看系统日志:journalctl -f
    • 查看某服务日志:journalctl -u your-js-app -f
    • 查看最近时间范围:journalctl --since “1 hour ago”
  • 应用日志文件
    • 实时跟踪文件:tail -f /var/log/your-app/*.log
    • 结合过滤:tail -f app.log | grep “error”
  • 前端实时调试
    • 浏览器按 F12 打开开发者工具,在Console查看错误与日志。

三 Node.js 服务端监控落地

  • 结构化日志输出
    • 使用Winston/Bunyan/Morgan输出到控制台与文件,便于后续检索与告警(如按级别分流:info/warn/error)。
  • systemd 托管与集中
    • 创建服务单元(示例):
      [Unit]
      Description=My Node.js App
      After=network.target
      
      [Service]
      ExecStart=/usr/bin/node /opt/myapp/app.js
      Restart=always
      User=www-data
      Environment=NODE_ENV=production
      StandardOutput=syslog
      StandardError=syslog
      SyslogIdentifier=my-js-app
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用与查看:
      sudo systemctl daemon-reload
      sudo systemctl enable --now my-js-app
      sudo journalctl -u my-js-app -f
      
  • 集中式日志平台
    • ELK:Filebeat/Logstash 采集日志到 Elasticsearch,在 Kibana 建立索引模式与可视化看板(如按时间字段创建索引模式 nodejs-logs-*)。
    • Graylog:集中聚合、检索与告警,适合统一治理多服务日志。

四 前端 JS 异常监控

  • 代码埋点与错误捕获
    • 全局异常:window.onerrorunhandledrejection 捕获同步/异步错误。
    • 资源加载错误:监听 error 事件(对