Ubuntu JS日志中哪些指标最重要
导读:Ubuntu环境下 Node.js 日志的关键指标 一 核心必选字段 时间戳:建议使用ISO 8601格式,便于跨系统排序与聚合。 日志级别:如 ERROR、WARN、INFO、DEBUG,用于快速判断事件严重性与筛选。 进程ID(PID...
Ubuntu环境下 Node.js 日志的关键指标
一 核心必选字段
- 时间戳:建议使用ISO 8601格式,便于跨系统排序与聚合。
- 日志级别:如 ERROR、WARN、INFO、DEBUG,用于快速判断事件严重性与筛选。
- 进程ID(PID):定位具体 Node.js 进程实例,尤其在多实例/多 worker 场景。
- 模块/组件/标签:标明日志来源,缩小排查范围。
- 请求ID(requestId):贯穿一次请求的全链路追踪,串联网关、服务、数据库等。
- 用户信息(userId)/认证标识:用于审计与问题归属。
- 客户端/服务端IP:辅助排查网络与地域相关问题。
- 消息与堆栈跟踪:错误摘要与 stack trace 是根因定位的关键。
- 操作类型与结果:如“登录/删除/导出”,以及“成功/失败”,便于统计与告警。
二 性能与健康指标
- 响应时间(RT):从接收请求到返回响应的耗时,用于发现慢请求与性能退化。
- 吞吐量(QPS/TPS):单位时间处理请求数,反映负载能力与容量。
- 错误率:失败请求占比,是服务可用性的核心指标。
- 内存使用:堆内存、RSS 等,配合 OOM/泄漏排查。
- CPU使用率:识别计算密集或阻塞导致的性能瓶颈。
- 并发/排队指标:如并发连接数、请求排队时间,反映系统承压情况。
- 外部依赖延迟:数据库、缓存、第三方 API 的响应时延与超时情况。
三 访问与业务指标
- 访问日志:记录每一次 HTTP 请求的路径、方法、状态码、UA、Referer 等,支撑流量与质量分析。
- 关键业务事件:如“登录成功/失败”“支付完成/失败”“订单创建”等,用于业务健康与转化分析。
- 操作结果统计:成功/失败计数与比率,便于构建 SLA/SLO 与告警阈值。
- 慢操作标记:将超过阈值的数据库查询、文件 I/O、远程调用单独打标,聚焦优化重点。
四 日志管理与可观测性实践
- 结构化日志:优先使用 JSON,便于检索、聚合与可视化。
- 日志级别治理:生产以 INFO/WARN/ERROR 为主,按需开启 DEBUG。
- 日志轮转与保留:使用 logrotate 或日志库的轮转功能,控制单文件大小与保留周期。
- 集中式日志:结合 rsyslog/systemd journal 或 ELK/EFK(Elasticsearch, Logstash, Kibana)、Grafana Loki 统一收集与检索。
- 指标与链路追踪联动:将日志中的 requestId 与 Prometheus/Grafana 指标、分布式追踪关联,形成“日志-指标-追踪”三位一体。
五 快速落地的最小日志字段模板
- 必选:timestamp、level、pid、module、message、stack(错误时)、requestId
- 推荐:ip、userId、method、url、statusCode、responseTime、userAgent
- 可选:operation、result、dbDuration、cacheHit、externalApiDuration
- 示例(JSON):
{
“timestamp”: “2025-12-11T10:00:00.123Z”,
“level”: “ERROR”,
“pid”: 12345,
“module”: “OrderService”,
“requestId”: “req-abc-123”,
“userId”: “u10086”,
“ip”: “203.0.113.10”,
“method”: “POST”,
“url”: “/api/v1/orders”,
“statusCode”: 500,
“responseTime”: 1243,
“message”: “Failed to create order”,
“stack”: “Error: DB timeout\n at …”
}
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu JS日志中哪些指标最重要
本文地址: https://pptw.com/jishu/770548.html
