Debian JS日志如何监控
导读: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.onerror、unhandledrejection 捕获同步/异步错误。
- 资源加载错误:监听 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
