用途:为应用与基础设施建立监控、日志与可观测性,适合生产部署前配置、性能问题定位、事故响应与 SLA 合规追踪。
主要能力:
- 指标采集:以 Prometheus 为例,Node.js 应用使用 prom-client 采集默认指标(CPU、内存等)与自定义指标(如 http_request_duration_seconds 直方图、http_requests_total 计数器),通过 /metrics 暴露,并在 prometheus.yml 中配置抓取目标与告警管理器。
- 告警规则:alert_rules.yml 示例包含高错误率、慢响应、Pod 下线、高内存使用,设置 severity、for 与 annotations。
- 日志聚合:使用 winston 结构化 JSON 日志,含时间戳、错误堆栈、默认元数据,输出到控制台与文件(error.log、combined.log),并提供 Express 中间件记录请求。
- Grafana 仪表盘:dashboard.json 示例含请求速率、错误率、响应时间 p95、CPU 使用率面板。
- 健康检查:/health 端点返回 healthy/degraded/unhealthy 状态、运行时间,并检查数据库、Redis、外部 API 的延迟与错误,按状态返回 200 或 503。
使用方式:按资料中步骤依次配置指标、告警、日志、仪表盘与健康检查,命令与代码保持原样。
限制与约束:必须使用 JSON 结构化日志;指标标签需注意唯一性与高基数;仅保留关键告警以防告警疲劳;禁止记录密码、API 密钥等敏感数据;避免采集无用指标浪费资源。建议定义 SLO、为每个告警编写 Runbook、按团队需求定制仪表盘。
资料未提供具体收费、价格与平台限制信息,暂未提供。