用途:为 Python 应用添加可观测性能力,包括结构化日志、Prometheus 指标和分布式追踪,便于在生产环境排查问题、构建监控面板。
主要能力:使用 structlog 输出 JSON 结构化日志并统一字段;用 ContextVar 贯穿关联 ID(correlation ID)实现端到端追踪;用 prometheus_client 采集延迟、流量、错误、饱和度四类黄金信号;用 OpenTelemetry 配置分布式追踪与 span。
使用方式:启动时调用 configure_logging 配置 structlog;在入口生成或读取 X-Correlation-ID 并绑定到上下文,出站请求携带该头;用 Counter、Histogram、Gauge 定义指标并用装饰器或上下文管理器记录;用 TracerProvider 与 OTLPSpanExporter 初始化追踪。
适用场景:为服务添加日志、实现指标采集、跨服务追踪、调试生产问题、构建可观测性面板。
限制与注意:指标标签值必须有界,避免用用户 ID 等无界值导致存储成本爆炸;日志级别要语义一致,预期行为不应记为 ERROR;OpenTelemetry 仍在演进,需查阅官方 Python 文档获取最新 API。资料未提供具体安装命令、版本要求与收费信息。