Debug Exporter

Debug Exporter 是一个专门用于故障排查的导出器,它将收集到的遥测数据输出到标准输出(stdout),使您能够直接查看 Collector 接收到并处理的数据内容。

Overview

Debug Exporter 主要用于以下场景:

  • 验证 Collector 是否正确接收遥测数据
  • 检查数据格式和内容是否符合预期
  • 调试数据处理管道问题
  • 在开发和测试环境中快速查看数据
WARNING

Debug Exporter 会将所有数据输出到日志,可能产生大量日志,不建议在生产环境中长期使用。

Configuring Debug Exporter

您可以在 OpenTelemetryCollector 自定义资源中配置 Debug Exporter:

config:
  exporters:
    debug:
      verbosity: detailed
  service:
    pipelines:
      traces:
        exporters: [debug]
      metrics:
        exporters: [debug]
      logs:
        exporters: [debug]

配置参数

  • verbosity:输出详细程度,选项包括:
    • basic:基本信息(默认)
    • normal:标准信息
    • detailed:详细信息,包括完整数据内容

Viewing exported data

配置 Debug Exporter 后,导出的数据会出现在 Collector Pod 的日志中。使用以下命令查看:

kubectl logs <collector-pod-name> -n <namespace> -f

示例输出

2025-04-17T10:40:44.559+0200    info    Traces  {"otelcol.component.id": "debug/basic", "otelcol.component.kind": "Exporter", "otelcol.signal": "traces", "resource spans": 1, "spans": 2}

Using Debug Exporter with other exporters

Debug Exporter 可以与其他导出器同时使用,允许您在将数据发送到后端系统的同时,在日志中查看数据内容:

config:
  exporters:
    debug:
      verbosity: detailed
    otlp:
      endpoint: jaeger-collector:4317
      tls:
        insecure: true
  service:
    pipelines:
      traces:
        receivers: [otlp]
        processors: [batch]
        exporters: [debug, otlp]

在此配置中,traces 数据同时发送到 Debug Exporter 和 OTLP 导出器。