OpenTelemetry 是一组 APIs, SDKs,工具等集合,从而可以用于实现 traces 数据、监控数据和日志数据的生成和管理工具。
本文翻译至 OpenTelemetry 官方文档,目的是涵盖有关如何在您的软件中使用 OpenTelemetry 的内容,其中涉及到关键术语、概念和相关使用说明。
OpenTelemetry 提供了上述架构图中所有组件相关的功能实现。同时,OpenTelemetry 项目本身是非常灵活且可扩展的,可以通过插件扩展来支持大量的开源项目、商业解决方案和用户相关需求。
在我们的环境中,OpenTelemetry Collector 应该在每台机器上都作为 Agent 部署一个,同时在Agent中配置将这些遥测数据发送给用户希望的后端服务。OpenTelemetry 插桩库应该在每个应用中都引入。默认情况下,这些插桩库会将运行过程中生成的遥测数据发送给本地运行的 Collector 实例。此外,你可以选择在每个区域部署一组 Collector 实例来收集相关的遥测数据。
Collector 支持多种流行的开源数据格式,例如 Jaeger、Prometheus 或者 Fluent Bit 等。Collector 还可以充当一个桥梁,得到那些希望使用 OpenTelemetry 或者未来希望转向 OpenTelemetry 用户的支持。