You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Jaeger SPM遇StatusCode.UNIMPLEMENTED错误,求配置排查

问题分析与解决方案

一、使用OTLP接收器时Jaeger无法显示SPM图表

核心原因

  1. Traces未同步到Jaeger:当前OpenTelemetry Collector的traces流水线仅将追踪数据导出到logging和自身OTLP端点,未配置向Jaeger导出,导致Jaeger无追踪数据支撑SPM图表生成。
  2. Jaeger未关联Prometheus数据源:SPM图表需要Jaeger从Prometheus拉取spanmetrics生成的指标(如latency_bucket、call_total),你未在Jaeger中配置对应Prometheus地址。

解决步骤

  1. 修改Collector追踪导出配置:在traces流水线的exporters中添加jaeger,让追踪数据发送到Jaeger:
    pipelines:
      traces:
        receivers: [otlp]
        processors: [memory_limiter, spanmetrics, batch]
        exporters: [logging, otlp, jaeger]  # 新增jaeger导出器
    
  2. 配置Jaeger关联Prometheus:在Jaeger启动参数或配置文件中添加Prometheus数据源地址(即Collector的Prometheus导出端点http://otel-collector:8889),例如启动命令:
    jaeger-all-in-one --prometheus.server-url=http://otel-collector:8889
    

二、切换为Jaeger接收器时出现StatusCode.UNIMPLEMENTED错误

核心原因

协议不匹配:你的应用代码使用OTLPSpanExporter发送OTLP协议的追踪数据,但Collector的jaeger接收器仅支持Jaeger原生协议(gRPC/Thrift),无法解析OTLP请求,因此返回未实现错误。

解决步骤

方案1(推荐):保持OTLP接收器,完善Jaeger导出

按上述第一部分的配置修改即可,OTLP是OpenTelemetry标准协议,兼容性更强。

方案2:改用Jaeger协议发送追踪数据

修改应用代码,将OTLP导出器替换为Jaeger导出器:

# 替换原有的OTLP导出器代码
from opentelemetry.exporter.jaeger.thrift import JaegerExporter
from opentelemetry.sdk.trace.export import BatchSpanProcessor

provider = TracerProvider(resource=resource)
# 若使用Jaeger Agent的UDP端口(默认6831)
jaeger_exporter = JaegerExporter(
    agent_host_name="localhost",
    agent_port=6831
)
# 若直接对接Collector的Jaeger gRPC端点(14250)
# jaeger_exporter = JaegerExporter(
#     collector_endpoint="http://localhost:14250/api/traces"
# )
processor = BatchSpanProcessor(jaeger_exporter)
provider.add_span_processor(processor)
trace.set_tracer_provider(provider)

额外优化建议

  1. 移除main.py中重复的Resource对象创建代码,合并为一个实例复用;
  2. 删除main.py中重复的BatchSpanProcessor初始化代码(第二次覆盖了第一次的配置,导致无效);
  3. 若无需从外部拉取Prometheus指标,可删除Collector配置中为空的prometheus接收器,减少无效配置。

内容的提问来源于stack exchange,提问作者Corfucinas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 03:20:15