什么是「OpenTelemetry」
OpenTelemetry是一组API、SDK、工具。用于创建和管理诸如Trace、Metriic和Log等遥测数据的集成。该项目提供了一个与供应商无关的实现。该实现可以将遥测数据发送到我们选择的任何后端服务。它支持各种流行的开源项目,如:Jaeger、Prometheus、SkyWalking 等。
我们为什么需要「OpenTelemetry」,「OpenTelemetry」能做些什么
如今云原生当道,分布式和多语言的架构也成了当前的常态。当然分布式的体系架构也引入了各种新的挑战。其中就包括了如何快速解决可用性和性能问题。这些挑战也对可观测性提出了更高的要求。
可观测产品需要各种的遥测数据来进行驱动。一般来说,遥测数据都是由开源项目或商业供应商提供的。由于缺乏标准化,数据缺乏可移植性、并且用户还需要承担不同测量器的维护成本。
「OpenTelemetry」项目则通过提供了一个与供应商无关的解决方案来解决这些问题。该项目得到了业界的广泛支持,并得到了云提供商、供应商和用户的采纳。
「OpenTelemetry」为我们提供了:
- 每种语言都有一个与供应商无关的工具库,支持自动埋点与主动埋点
- 收集器以多种方式部署,其中包括代理或网关
- 一种端到端的实现,用于生成、上报、收集、处理、导出遥测数据
- 完全控制您的数据,能够通过配置并行地将数据发送到多个后端服务
- 开放标准的语义约定,以确保与供应商无关的数据收集
- 支持多个上下文传播格式的能力并行,以帮助迁移随着标准的发展
- 一条前无论你在哪里,在你的可观察的旅程。通过对各种开放源码和商业协议、格式和上下文传播机制的支持,以及为「OpenTracing」和「OpenCensus」项目提供填充,采用「OpenTelemetry」是很容易的。
「OpenTelemetry」不是什么
「OpenTelemetry」不是像「Jaeger」或「Prometheus」那样的可观测后端。相反,它支持将数据导出到各种开放源码和商业后端。它提供了一个可插拔的体系结构,因此可以很容易地添加附加技术、协议和格式。