收集器
介绍¶
OpenTelemetry Collector 提供了一个与供应商无关的实现,用于接收、处理和导出遥测数 据。它消除了运行、操作和维护多个代理/收集器的需要。它具有改进的可伸缩性,并支持 将开源可观察数据格式(例如 Jaeger、Prometheus、Fluent Bit 等)发送到一个或多个开源 或商业后端。本地 Collector 代理是仪器库将其遥测数据导出到的默认位置。
目标¶
- 可用性: 合理的默认配置,支持流行的协议,开箱即用的运行和收集。
- 表演: 在不同的负载和配置下高度稳定和高性能。
- 可观察性: 可观察服务的范例。
- 可扩展性: 无需触及核心代码即可自定义。
- 统一: 单个代码库,可作为支持跟踪、度量和日志(未来)的代理或收集器进行部署。
何时使用收集器¶
对于大多数特定于语言的工具库,您都有针对流行后端和 OTLP 的导出器。你可能会想,
在什么情况下使用收集器发送数据,而不是让每个服务直接发送到后端?
对于尝试和开始使用 OpenTelemetry,将数据直接发送到后端是快速获取价值的好方法。此 外,在开发或小规模环境中,您可以在没有收集器的情况下获得不错的结果。
但是,通常我们建议在服务旁边使用收集器,因为它允许您的服务快速卸载数据,并且收集 器可以处理额外的处理,如重试,批处理,加密,甚至敏感数据过滤。
设置收集器也比您想象的要容易:每种语言的默认 OTLP 导出器 都假定有一个本地收集器端点,因此您启动收集器并开始进行遥测。
状态和发布¶
收集器 状态为:mixed,因为核心收集器组件当前具有混合的稳定级别。
收集器组件 成熟度不同。正在努力确保每个组件都有其稳定性文档。要跟踪此工作的
进展,请参阅opentelemetry-collector-contrib
issue #10116.