迁移 OpenTelemetry Collector 中的 Jaeger Exporter
博客文章在发布后不会更新。这篇文章已经发布一年多了,其内容可能已过时,部分链接可能无效。在依赖任何信息之前,请务必核实。
OpenTelemetry Collector 的最新二进制版本不再包含原生 Jaeger 格式的 exporter。此更改是因为 Jaeger 内置支持 OTLP。如果您是 Jaeger 或 Jaeger Thrift exporter 的当前用户,在升级到最新 Collector 时,您有几个选项可供选择。
切换到 OTLP Exporter
推荐的选项是切换到 OpenTelemetry Protocol (OTLP) exporter。此 exporter 包含在社区支持的所有官方发行版中。要进行切换,您需要更新 collector 配置。找到以下 Jaeger exporter 配置
exporters:
jaeger:
endpoint: https://jaeger.example.com:14250
service:
pipelines:
exporters: [jaeger]
并将其替换为 OTLP 配置
exporters:
otlp/jaeger: # Jaeger supports OTLP directly. The default port for OTLP/gRPC is 4317
endpoint: https://jaeger.example.com:4317
service:
pipelines:
exporters: [otlp/jaeger]
Jaeger 版本直到 v1.46.0,需要设置以下环境变量 COLLECTOR_OTLP_ENABLED=true。
构建自定义 Collector
如果切换到 OTLP exporter 不是一个选项,那么另一种方法是构建一个包含 Jaeger exporter 的自定义 Collector。请参阅构建自定义 Collector。您的 manifest 文件需要包含以下行来添加 Jaeger exporter
exporters:
- gomod: go.opentelemetry.io/collector/exporter/jaegerexporter v0.85.0
- gomod:
go.opentelemetry.io/collector/exporter/jaegerthrifthttpexporter v0.85.0
有关现有 Collector 发行版的 manifest 文件的更多示例,请参阅 opentelemetry-collector-releases 仓库。
如果以上任何选项都不适用于您的用例,请通过 CNCF Slack 联系 #otel-collector 社区,或在 repository 中打开一个 issue。