OpenTelemetry 是一个可观测性框架和工具包, 旨在创建和管理遥测数据,如链路、 指标和日志。 重要的是,OpenTelemetry 是供应商和工具无关的,这意味着它可以与各种可观测性后端一起使用, 包括 Jaeger 和 Prometheus 这类开源工具以及商业化产品。
OpenTelemetry 不是像 Jaeger、Prometheus 或其他商业供应商那样的可观测性后端。 OpenTelemetry 专注于遥测数据的生成、采集、管理和导出。 OpenTelemetry 的一个主要目标是, 无论应用程序或系统采用何种编程语言、基础设施或运行时环境,你都可以轻松地将其仪表化。 重要的是,遥测数据的存储和可视化是有意留给其他工具处理的。
可观测性是通过检查系统输出来理解系统内部状态的能力。 在软件的背景下,这意味着能够通过检查遥测数据(包括链路、指标和日志)来理解系统的内部状态。
要使系统可观测,必须对其进行仪表化。也就是说,代码必须发出链路、指标或日志。 然后,仪表化的数据必须发送到可观测性后端。
随着云计算、微服务架构的兴起和日益复杂的业务需求,软件和基础设施的可观测性需求比以往任何时候都要强烈。
OpenTelemetry 满足可观测性的需求,并遵循两个关键原则:
这两个原则的结合赋予团队和组织在当今现代计算世界中所需的灵活性。
如果你想了解更多信息,请查阅 OpenTelemetry 的使命、愿景和价值观。
OpenTelemetry 包括以下主要组件:
OpenTelemetry 广泛应用于许多已集成 OpenTelemetry 提供默认可观测性的库、服务和应用。
OpenTelemetry 得到众多供应商的支持,其中许多为 OpenTelemetry 提供商业支持并直接为此项目做贡献。
OpenTelemetry 被设计为可扩展的。一些扩展 OpenTelemetry 的例子包括:
尽管大多数用户可能不需要扩展 OpenTelemetry,但此项目几乎每个层面都可以实现扩展。
OpenTelemetry 是云原生计算基金会 (CNCF)的一个项目,是由 OpenTracing 和 OpenCensus 项目合并而成的。原来这两个项目都是为解决同样的问题而创建的: 缺乏一种标准的方法来为代码进行仪表化并将遥测数据发送到可观测性后端。 由于这两个项目都无法独立解决这个问题,所以将其合并成立了 OpenTelemetry, 吸收了双方的优势,提供了统一的解决方案。
如果你目前正在使用 OpenTracing 或 OpenCensus, 你可以在迁移指南中了解如何迁移到 OpenTelemetry。
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!