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

Spring Boot Sleuth不打印Trace、Span日志且Zipkin未收到链路数据问题求助

可能的故障原因

1. 依赖版本冲突

  • Spring Cloud 2020.0.4 内置的sleuth正式版本为3.0.4,你手动指定spring-cloud-sleuth-zipkin的版本为3.0.0,存在跨版本兼容风险。建议移除依赖声明中的<version>标签,由Spring Cloud依赖管理自动匹配适配版本,避免版本不一致导致的功能异常。
<!-- 修改后的依赖配置 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>

2. 日志Pattern未配置sleuth占位符

  • SL4J默认日志格式没有包含traceId、spanId的MDC变量占位符,需要在配置文件中手动指定日志输出格式,示例YAML配置如下:
logging:
  pattern:
    level: "%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"
  • 如果使用log4j2作为SL4J的实现,还需要额外引入sleuth对log4j2的适配依赖,否则MDC参数无法正常注入日志。

3. Sleuth采样配置异常

  • Sleuth默认采样率为0.1,即仅上报10%的链路数据,测试场景下请求量少很可能触发采样遗漏,也可能存在误配置关闭采样的情况,建议调整采样配置:
spring:
  sleuth:
    enabled: true # 确保sleuth功能开启
    sampler:
      probability: 1.0 # 测试环境设置为100%采样,生产环境可按需调整

4. Zipkin上报配置错误

  • 未配置Zipkin服务地址时,Sleuth默认上报到http://localhost:9411,如果Zipkin部署在其他节点或端口修改过,会导致上报失败,需要补充配置:
spring:
  zipkin:
    enabled: true # 确保Zipkin上报功能开启
    base-url: http://你的Zipkin服务部署地址:9411/
  • 如果采用Kafka/RabbitMQ等消息队列上报链路数据,需要额外引入对应MQ的依赖包并配置MQ连接信息,无需配置base-url。

5. 核心依赖缺失

  • 仅引入spring-cloud-sleuth-zipkin不足以支撑全链路功能,需要补充引入Sleuth核心starter依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

6. 链路传递逻辑异常

  • 如果业务涉及跨服务调用,使用了未被Sleuth增强的HTTP客户端(如手动实例化的OkHttp、HttpClient),会导致traceId、spanId无法在调用链中传递,出现链路中断的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:48:01