智能工具库

OpenTelemetry 与 Prometheus 互通现状与缺口

OpenTelemetry 与 Prometheus 互通现状与缺口

OpenTelemetry 与 Prometheus 的集成正在推进,但两者在指标语义、数据模型和生态工具链方面仍存在不匹配,本文梳理当前互通进展与尚待解决的痛点。

2026-09-26 0来源:The New Stack

背景:两套可观测性体系正在靠拢

在云原生时代,OpenTelemetry 和 Prometheus 是开发者最常接触的两套可观测性技术。前者由 CNCF 孵化,目标是提供厂商中立的遥测数据标准;后者则凭借 PromQL 查询语言和强大的告警生态,成为指标监控的事实标准。

近年来,两者的互通性正在逐步改善——OpenTelemetry Collector 已支持将指标数据导出到 Prometheus,Prometheus 也通过 Remote Write 协议接收 OpenTelemetry 推送的数据。但对很多开发者来说,"能互通"和"好用"之间还有距离。

当前已实现的部分

数据链路打通

开发者可以通过 OpenTelemetry Collector 的 Prometheus Exporter,将采集到的指标以 Prometheus 格式暴露出去,再交给 Prometheus Server 抓取。反向来看,Collector 也可以直接消费 Prometheus 暴露的 /metrics 端点,将其转换为 OpenTelemetry 内部的指标模型。

语义约定初步对齐

OpenTelemetry 社区维护了一套 Semantic Conventions(语义约定),定义了指标的命名、单位、标签等规范。其中部分约定已经与 Prometheus 社区的标准指标(如 http_server_duration_seconds)保持一致,这降低了数据在两套系统间流转时的语义损失。

仍然缺失的关键环节

1. 数据模型差异尚未完全弥合

Prometheus 的指标模型以 时间序列 为核心,每条序列由指标名和标签集合唯一确定。而 OpenTelemetry 的指标模型引入了 Instrumentation(仪表)概念,支持多种聚合方式(Gauge、Counter、Histogram、Exponential Histogram)。两者在以下方面存在差异:

  • 指数直方图:OpenTelemetry 原生支持 Exponential Histogram,Prometheus 目前仅在实验性阶段支持
  • 元数据丰富度:OTel 指标可以携带更丰富的元信息(如单位、描述),Prometheus 的暴露格式相对精简
  • 时间戳精度:OTel 使用纳秒级时间戳,Prometheus 使用秒级,跨系统查询时可能产生精度丢失

2. 查询语言不互通

这是最让开发者头疼的问题之一。OpenTelemetry 社区正在推进 PromQL 兼容查询,但目前仍处于早期阶段。实际场景中,开发者仍然需要:

  • 在 Prometheus/Grafana 中使用 PromQL 查询
  • 在 OTel 后端(如 Jaeger、Tempo)中使用各自的查询语法

两套查询语言之间缺乏自动转换能力,意味着同一个问题在不同系统中需要用不同方式表达。

3. 信号关联体验不足

OpenTelemetry 的核心优势在于 Traces、Metrics、Logs 三大信号的关联。但当指标数据流入 Prometheus 后,这种关联能力会被削弱——Prometheus 本身不处理链路追踪和日志,开发者需要额外配置才能将指标异常与对应的 Trace 关联起来。

4. 生态工具链碎片化

目前围绕 Prometheus 的工具链(Alertmanager、Grafana、Thanos、Cortex 等)非常成熟,但大多数工具尚未原生支持 OpenTelemetry 的数据格式。开发者如果选择 OTel 作为数据收集层,往往需要在导出环节做额外的格式转换,增加了运维复杂度。

对开发者的实用建议

  • 如果你已经在用 Prometheus 生态:可以先通过 OpenTelemetry Collector 统一采集入口,导出到现有 Prometheus,逐步迁移
  • 如果你正在新项目选型:建议关注 OTel 的语义约定更新,优先使用已对齐的指标命名,为未来互通留出空间
  • 不要忽视 Exponential Histogram:它在高基数场景下比传统直方图更节省资源,是 OTel 相比 Prometheus 的一个重要技术优势

总结

OpenTelemetry 与 Prometheus 的互通正在从"能用"向"好用"演进,但数据模型差异、查询语言割裂、信号关联断裂等问题仍然制约着两者的深度融合。对于开发者来说,理解这些缺口有助于在架构设计中做出更合理的技术选型,而不是盲目追求"全栈 OpenTelemetry"。

Featued image for: OpenTelemetry and Prometheus are getting along. What’s still missing?

本文基于 The New Stack 的公开内容,由 AI 辅助整理改写后发布。

原标题:OpenTelemetry and Prometheus are getting along. What’s still missing?

阅读原文