首页主机资讯Debian JS日志如何监控

Debian JS日志如何监控

时间2025-12-08 22:24:04发布访客分类主机资讯浏览1229
导读:Debian 上监控 JavaScript 日志的实用方案 一 场景与总体架构 前端 JS(浏览器)侧重运行期错误与用户行为,建议接入Sentry等前端异常监控,并在控制台与开发者工具观察错误堆栈与网络请求。 后端 Node.js(服务端...

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 事件(对 、 等资源)。
    • 网络请求异常:对 fetch/axios 统一拦截并记录状态码、耗时与响应。
  • 接入 Sentry(示例)
    • 安装:npm install @sentry/browser
    • 初始化(在应用入口):
      import * as Sentry from "@sentry/browser";
      
      
      Sentry.init({
      
        dsn: "YOUR_DSN",
        environment: "production",
        release: "1.0.0",
        tracesSampleRate: 1.0, // 性能追踪采样率
      }
          );
          
      
    • 结合source map上传,可在 Sentry 中还原压缩后堆栈,准确定位问题。

五 告警与最佳实践

  • 告警策略
    • 错误率阈值:如 5xx/4xx 比例、单位时间内 ERROR 日志数超过阈值触发告警。
    • 关键字告警:如日志中出现 “OutOfMemory”“EADDRINUSE”“timeout” 等立即通知。
    • 指标联动:结合 Prometheus + Grafana 对进程存活、响应时延、内存占用设阈值,配合日志做根因定位。
  • 日志规范与治理
    • 统一字段:如 timestamp、level、service、env、trace_id、msg、err.stack
    • 采样与脱敏:生产环境对debug/trace采样,避免敏感信息落库。
    • 保留与归档:按日/周滚动,冷数据转入对象存储,控制成本。
  • 安全与合规
    • 限制日志访问权限,避免泄露密钥/个人信息;对外仅开放必要的查询与可视化接口。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian JS日志如何监控
本文地址: https://pptw.com/jishu/766414.html
Debian JS日志如何保护隐私 Debian JS日志如何分析性能瓶颈

游客 回复需填写必要信息