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

Spring Cloud Edgware.SR2迁移Kafka后无Zipkin链路追踪问题求助

排查Spring Cloud Edgware.SR2迁移Kafka后Zipkin无追踪数据的问题

我之前在Spring Cloud Edgware版本做类似的RabbitMQ转Kafka迁移时,也碰到过完全一样的问题,给你整理几个最可能的排查方向:

1. 确认依赖配置是否正确

Edgware版本的Zipkin和Sleuth对Kafka的依赖配置有特定要求,你需要确保已经排除了RabbitMQ相关的自动配置,同时引入了正确的Kafka绑定依赖:

<!-- 核心Zipkin依赖,排除RabbitMQ绑定 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- Sleuth-Zipkin的Stream依赖,同样排除RabbitMQ -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- Kafka Stream绑定依赖 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-stream-kafka</artifactId>
</dependency>

2. 检查配置文件的关键参数

确保你的application.properties(或yml)里已经正确配置了Kafka相关参数,并且禁用了RabbitMQ的自动配置:

# 排除RabbitMQ的自动配置类,避免冲突
spring.autoconfigure.exclude=org.springframework.cloud.stream.binder.rabbit.RabbitServiceAutoConfiguration

# 指定Zipkin使用Kafka作为数据传输方式
spring.zipkin.sender.type=kafka

# Kafka的bootstrap地址,和你的集群地址一致
spring.kafka.bootstrap-servers=localhost:9092

# 可选:确认Zipkin使用的主题名称,默认就是zipkin,要和你消费的主题匹配
spring.zipkin.kafka.topic=zipkin

3. 调整Sleuth采样率

默认情况下Sleuth的采样率是10%(spring.sleuth.sampler.probability=0.1),有可能你测试的请求刚好没被采样到。可以临时把采样率调到100%来验证:

spring.sleuth.sampler.probability=1.0

4. 确认Kafka主题是否存在

Edgware版本的Spring Cloud可能不会自动创建Zipkin主题,你可以手动创建主题后再测试:

kafka-topics.sh --create --topic zipkin --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

5. 检查Zipkin Server的配置

如果你是独立部署的Zipkin Server,需要确保它已经配置了从Kafka消费数据。启动Zipkin Server时可以指定参数:

java -jar zipkin-server.jar --STORAGE_TYPE=mem --KAFKA_BOOTSTRAP_SERVERS=localhost:9092

或者在Zipkin的配置文件中设置对应的Kafka消费者参数,确保它监听的是zipkin主题。

6. 查看生产者服务的日志

把服务的日志级别调到debug,重点查看org.springframework.kafka和org.springframework.cloud.sleuth相关的日志,看看有没有发送Kafka消息的记录,或者是否有连接失败、发送异常的报错信息。

最后别忘了,一定要调用生产者服务的实际接口,只有当有请求进入时,Sleuth才会生成追踪数据并发送到Kafka。调用几次接口后,再用你的消费者命令查看主题数据,或者刷新Zipkin UI。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:46:53