将遥测数据发送到 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 基础设施