用途:为数据管道和应用程序提供生产级监控与可观测性,包括指标采集、可视化、日志记录和告警。
主要能力:
- Prometheus 指标:使用 prometheus_client 的 Counter(累计计数)、Histogram(延迟/大小分布,可设 buckets)、Gauge(可增可减)、Summary(含百分位)。
- Grafana 仪表盘:以 JSON 定义 panel,示例含 records/sec、P95 延迟(histogram_quantile)、错误率等查询表达式。
- 结构化日志:使用 structlog,配置时间戳、日志级别、异常信息与 JSONRenderer;通过 logger.bind 绑定服务、环境、订单等上下文。
- 告警规则:给出 Prometheus alerting_rules.yml 示例,含 HighErrorRate、PipelineStalled、HighLatency,配置 for 持续时间、severity 标签与 annotations。
使用方式:安装并使用 prometheus_client、structlog,调用 start_http_server(8000) 暴露指标;在批处理函数中记录成功/失败指标、耗时并写结构化日志;按示例编写 Grafana panel JSON 和告警 YAML。
适用场景:数据管道、ETL、批处理任务的指标埋点、仪表盘搭建、日志规范化与阈值告警。
工具清单(版本 2025):Prometheus 2.50+、Grafana 10.3+、Loki 2.9+、Alertmanager 0.27+、OpenTelemetry 1.24+、Datadog、Monte Carlo。
限制与注意:避免高基数标签(如 user_id、request_id)导致 Prometheus OOM;不要记录敏感数据;不要对每个错误告警;排障涵盖指标缺失、高基数、告警疲劳、日志量过大;技能认证清单要求能埋点、建仪表盘、实现结构化日志、设置告警并排障。具体收费、平台与价格暂未提供。