Zipkin Server未显示微服务调用链路追踪问题排查咨询
微服务A调用B链路追踪信息未在Zipkin显示的排查方向
场景与配置信息
pom.xml依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth-zipkin</artifactId> </dependency>
application.properties配置
spring.zipkin.base-url=http://localhost:9411/ spring.sleuth.sampler.probability=1.0 spring.zipkin.sender.type=web spring.zipkin.collector.http.enabled=true
组件版本
- Zipkin Server:zipkin-server-2.12.9
- Spring Boot:2.7.5
- Spring Cloud:2021.0.4
当前问题
微服务A调用微服务B的Trace-ID链路追踪信息未在Zipkin Server中展示,预期该调用链应正常显示,可能的问题如下:
排查方向
- 版本兼容性不匹配:Spring Cloud 2021.0.4(Jubilee)对应的Sleuth版本为3.1.4,适配Zipkin 2.20+版本,而你使用的Zipkin Server是2.12.9,版本差距过大,会导致客户端发送的追踪数据格式与服务端不兼容,服务端无法解析或存储数据。
- 调用组件未适配Sleuth:如果微服务A调用B时使用的是原生HTTP客户端(如HttpClient、OkHttp)而非Spring Cloud提供的RestTemplate、FeignClient,且未手动配置Sleuth的拦截器,Trace-ID无法自动在调用链中传递,Zipkin无法收集到完整链路信息。
- Zipkin Server运行异常:检查Zipkin Server是否正常启动在9411端口,是否存在端口占用、防火墙拦截导致微服务无法连接;另外
spring.zipkin.collector.http.enabled=true是服务端配置,客户端无需添加,若服务端未开启HTTP收集功能,也无法接收数据。 - 客户端网络连通性问题:确认微服务能否正常访问
http://localhost:9411/,若微服务运行在容器、虚拟机等环境中,localhost仅指向自身环境,需将spring.zipkin.base-url改为宿主机IP或可访问的网络地址。 - Sleuth自身未生效:查看微服务日志是否包含Trace-ID和Span-ID,若没有则说明Sleuth自动配置未生效,可能是依赖冲突(如与OpenTelemetry等其他链路组件冲突)或Spring Boot启动类扫描范围未覆盖Sleuth配置类。
- 采样或发送配置问题:虽然采样率设为1.0,但需确认是否存在自定义采样规则覆盖了默认配置;另外
spring.zipkin.sender.type=web要求客户端能正常发送HTTP请求到Zipkin,若存在代理、网络代理配置,可能导致请求无法送达。
内容的提问来源于stack exchange,提问作者win32trojan
相关产品推荐
相关产品推荐

