OpenTelemetry-组件

OpenTelemetry项目是由很多个组件构成的。这些组件作为一个单一的实现并提供简单的接入方式。以确保与供应商无关的解决方案。将来还会增加更多的组件。

Proto

与语言无关的接口类型。它定义了每个仪表库、收集器、公共部分和资源的数据源。Proto文件被广泛讨论。有关更多信息,请参见proto repository

规范

描述所有跨语言需求和期望的实现。除了术语的定义之外,规范还定义了以下内容:

  • API:用于产生遥测数据。定义每个数据源以及其他方面,包括 baggage 和 propagators。
  • SDK:具有处理和导出功能的API的实现。定义每个数据源以及其他方面,包括资源和配置。
  • Data:定义语义约定,以提供与供应商无关的实现以及OpenTelemetry协议(OTLP)。

更多信息可以看 官方规范

收集器

OpenTelemetry收集器提供了一个与供应商无关的实现,用于接收、处理和导出遥测数据。它消除了运行、操作和维护多个代理/收集器的需要,以支持开源的可观察性数据格式(例如Jaeger、Prometheus等)。发送到一个或多个开源或商业的后端服务。Collector是导出遥测数据的默认仪器库。

更多信息可以看 收集器

仪器库

OpenTelemetry项目的灵感来自于让每个库和应用程序直接调用OpenTelemetry API,从而使它们可以立即被观察到。在此之前,需要一个单独的库来注入这些信息。为另一个库提供可观测性的库统称为仪器库。OpenTelemetry项目为多种语言提供了一个工具库。所有检测库都支持手动(代码修改)检测,还有几个支持自动(字节码)检测。

更多信息可以看 收集器