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

Spring Boot 3中如何配置Zipkin baseUrl对接Jaeger Collector

Spring Boot 3 链路追踪Span上报Jaeger失败(默认localhost问题)解决办法

我们已部署Jaeger用于Istio代理间调用追踪,Spring Boot 2环境下通过Spring Cloud Sleuth配置成功实现应用内Span上报与日志traceId输出,但升级到Spring Boot 3后,应用日志能正常输出traceId,却无法将Span上报至指定Jaeger Collector,报错显示仍默认连接localhost:9411:

2023-03-16T15:36:15.037Z WARN [our-service,,] 1 --- [ender@207ff82c}] z.r.AsyncReporter$BoundedAsyncReporter : Dropped 1 spans due to ResourceAccessException(I/O error on POST request for "http://localhost:9411/api/v2/spans": Connection refused

问题原因

Spring Boot 3引入Micrometer Tracing替代了原Spring Cloud Sleuth的核心追踪实现,原spring.zipkin.base-url等配置属性已废弃,不再生效,需使用Micrometer对应的新配置项。

正确配置方式

1. 确认依赖(已正确引入的可忽略)

Spring Boot 3环境下需使用以下依赖:

<dependency>
  <groupId>io.micrometer</groupId>
  <artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
  <groupId>io.zipkin.reporter2</groupId>
  <artifactId>zipkin-reporter-brave</artifactId>
</dependency>

2. 修改application.yaml配置

替换原spring.zipkin相关配置,改用Micrometer的配置前缀:

spring:
  application:
    name: our-service
management:
  tracing:
    sampling:
      probability: 1.0 # 按需调整采样率,1.0表示全采样
    propagation:
      type: B3,W3C # 保持与Istio兼容的传播类型
  zipkin:
    tracing:
      endpoint: <url to our jaeger collector>:9411/api/v2/spans # 完整的Jaeger Zipkin兼容端点
logging:
  pattern:
    level: "%5p [${spring.application.name},%X{traceId:-},%X{spanId:-}]" # 保持日志traceId/spanId输出格式

3. 验证

重启Spring Boot 3应用后,检查日志是否再出现localhost连接错误,同时登录Jaeger UI查看是否能接收到该应用上报的Span。

关键说明

  • Jaeger的Zipkin兼容端点默认是/api/v2/spans,配置时需指定完整路径,而非仅base地址
  • management.tracing.propagation.type保持B3,W3C可确保与Istio代理的追踪上下文兼容

内容的提问来源于stack exchange,提问作者I.Brok

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:47:22