什么是 OpenTelemetry?

简要说明 OpenTelemetry 是什么,以及它不是什么。

OpenTelemetry 是

OpenTelemetry 的主要目标是,无论使用何种编程语言、基础设施和运行时环境,都能轻松地对您的应用程序和系统进行检测。

遥测数据的后端(存储)和前端(可视化)被有意地留给其他工具处理。

有关本系列中的更多视频和附加资源,请参阅下一步?

什么是可观测性?

可观测性是指通过检查系统的输出来理解其内部状态的能力。在软件的上下文中,这意味着能够通过检查其遥测数据(包括跟踪、指标和日志)来理解系统的内部状态。

要使系统可观测,它必须被检测。也就是说,代码必须发出跟踪指标日志。然后必须将检测到的数据发送到可观测性后端。

为什么选择 OpenTelemetry?

随着云计算、微服务架构的兴起以及日益复杂的业务需求,对软件和基础设施可观测性的需求比以往任何时候都更加迫切。

OpenTelemetry 遵循两个关键原则,满足了对可观测性的需求:

  1. 您拥有生成的数据。没有供应商锁定。
  2. 您只需要学习一套 API 和约定。

这两大原则相结合,为团队和组织在当今的现代计算世界中提供了所需的灵活性。

如果您想了解更多信息,请查看 OpenTelemetry 的使命、愿景和价值观

OpenTelemetry 的主要组件

OpenTelemetry 由以下主要组件组成:

OpenTelemetry 被广泛的库、服务和应用程序所使用,这些应用程序集成了 OpenTelemetry 以默认提供可观测性。

OpenTelemetry 得到众多供应商的支持,其中许多供应商为 OpenTelemetry 提供商业支持并直接为该项目做出贡献。

可扩展性

OpenTelemetry 被设计为可扩展的。以下是一些可扩展的示例:

  • 向 OpenTelemetry Collector 添加接收器,以支持来自自定义源的遥测数据
  • 将自定义检测库加载到 SDK 中
  • 创建针对特定用例量身定制的 SDK 或 Collector 分发版
  • 为尚不支持 OpenTelemetry 协议 (OTLP) 的自定义后端创建新的导出器
  • 为非标准上下文传播格式创建自定义传播器

尽管大多数用户可能不需要扩展 OpenTelemetry,但该项目被设计为几乎可以在每个级别上实现这一点。

历史

OpenTelemetry 是一个云原生计算基金会 (CNCF) 项目,它是两个早期项目 OpenTracingOpenCensus 合并的结果。这两个项目都是为了解决同一个问题而创建的:缺乏如何检测代码并将遥测数据发送到可观测性后端 Thus of a standard。由于这两个项目都无法独立解决问题,因此它们合并成立了 OpenTelemetry,结合了各自的优势,并提供了统一的解决方案。

如果您目前正在使用 OpenTracing 或 OpenCensus,可以在迁移指南中了解如何迁移到 OpenTelemetry。

下一步?


最后修改于 2025 年 6 月 24 日:将 prettier 从 3.5.3 升级到 3.6.0 (#7170) (0930994d)