迁移Jaeger Collector中的导出器

最新的二进制文件中的OpenTelemetry收集器不再包含原生Jaeger格式的导出器。这个变化是因为Jaeger已经支持OTLP。 如果您是Jaeger或Jaeger Thrift导出器的当前用户,在升级到最新的收集器时,您有几个选择。

切换到OTLP导出器

推荐的选项是切换到OpenTelemetry协议导出器。这个导出器包含在由社区支持的所有官方发行版中。要进行切换,您需要更新收集器的配置。找到以下Jaeger导出器配置:

exporters:
  jaeger:
    endpoint: https://jaeger.example.com:14250

service:
  pipelines:
    exporters: [jaeger]

然后用OTLP配置替换它:

exporters:
  otlp/jaeger: # Jaeger直接支持OTLP。OTLP/gRPC的默认端口是4317
    endpoint: https://jaeger.example.com:4317

service:
  pipelines:
    exporters: [otlp/jaeger]

版本1.46.0之前的Jaeger需要设置以下环境变量COLLECTOR_OTLP_ENABLED=true

构建自定义收集器

如果切换到OTLP导出器不是一个选择,另一个选择是构建包含Jaeger导出器的自定义收集器。构建过程在此处有文档说明。您的清单文件需要包含以下行来添加Jaeger导出器:

exporters:
  - gomod: go.opentelemetry.io/collector/exporter/jaegerexporter v0.85.0
  - gomod:
      go.opentelemetry.io/collector/exporter/jaegerthrifthttpexporter v0.85.0

现有收集器发行版的更多清单文件示例可以在opentelemetry-collector-releases存储库中找到。

如果这些选项都不适用于您的用例,请通过CNCF Slack#otel-collector社区或在存储库中提出问题。