迁移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社区或在存储库中提出问题。