将遥测数据发送到 Collector
OpenTelemetry Collector 作为一个集中式的遥测处理中心,接收、处理并导出由您的应用生成的 traces、logs 和 metrics。正确配置应用如何将遥测数据发送到 Collector 对构建高效的可观测性管道至关重要。
根据您的部署架构和需求,向 Collector 发送遥测数据主要有两种方式:
部署方式
Sidecar 注入模式
在 sidecar 模式中,OpenTelemetry Collector 会自动作为 sidecar 容器注入到您的应用 pod 中。该方式具有以下优势:
- 自动部署 — 无需为每个应用手动配置
- Pod 级隔离 — 每个应用 pod 拥有独立的 Collector 实例
- 简化网络 — 应用通过 localhost 与 Collector 通信
- 资源隔离 — Collector 资源按 pod 分配
- 适用场景 — 需要 pod 级数据隔离或应用期望使用 localhost 端点的场景
独立部署模式
在此模式下,应用直接连接到独立部署的 Collector 服务。其主要特点包括:
- 集中管理 — 多个应用共享单一 Collector 配置
- 资源高效 — 共享 Collector 实例降低整体资源消耗
- 可扩展性 — Collector 可独立于应用进行扩展
- 网络灵活性 — 应用可跨命名空间发送数据
- 适用场景 — 大规模集群部署和集中式可观测性架构
选择合适的方式
考虑使用 sidecar 模式的情况:
- 应用需要严格的 pod 级数据隔离
- 需要收集应用容器的日志
- 应用配置为向 localhost 发送遥测数据
- 每个应用有独特的 Collector 配置需求
考虑使用独立部署模式的情况:
- 管理大量应用
- 资源效率优先
- 需要集中式 Collector 配置和监控
- 应用可以接受共享 Collector 基础设施