在SCDF中使用Zipkin需添加哪些依赖及额外配置?
SCDF 集成 Zipkin 无链路数据解决方案
核心配置补全
你当前仅开启了Zipkin启用开关,缺少多个核心必填配置,按如下规则补全即可:
- 采样率配置:Sleuth默认采样率仅为10%,测试场景可设置为全量采样
spring.sleuth.sampler.probability=1.0 - Zipkin服务地址配置:默认地址为
http://localhost:9411,若Zipkin服务部署在其他节点,必须手动指定服务地址spring.zipkin.base-url=http://<你的Zipkin服务IP>:9411/ - 消息链路传播配置:SCDF流基于Spring Cloud Stream实现,需要开启消息中间件的链路头传递能力,根据你使用的binder类型补全对应配置:
# 全局消息链路追踪总开关 spring.sleuth.messaging.enabled=true # 使用RabbitMQ binder时追加以下配置 spring.sleuth.messaging.rabbit.enabled=true # 使用Kafka binder时追加以下配置 spring.sleuth.messaging.kafka.enabled=true
额外校验规则
- 版本兼容性校验:
spring-cloud-dependencies的版本必须和当前使用的Spring Boot版本严格匹配,否则自动配置会失效,可参考Spring官方版本映射表核对对应关系。 - 若你使用SCDF官方预置的source/processor/sink组件,需要将上述配置作为全局部署参数传入,而非仅配置在自定义应用中,部署流时可通过如下参数统一配置所有应用的追踪属性:
deployer.*.local.java-opts=-Dspring.zipkin.enabled=true -Dspring.zipkin.base-url=http://<你的Zipkin服务IP>:9411 -Dspring.sleuth.sampler.probability=1.0 - 本地排查时可开启actuator端点暴露,访问
/actuator/sleuth端点即可确认Sleuth配置是否正常生效:management.endpoints.web.exposure.include=* - 若你使用Spring Boot 3.x + Spring Cloud 2022.0及以上版本,原Spring Cloud Sleuth组件已停止维护,需要替换为Micrometer Tracing相关依赖,对应Zipkin依赖为
io.micrometer:micrometer-tracing-bridge-brave和io.zipkin.reporter2:zipkin-reporter-brave。
内容的提问来源于stack exchange,提问作者Josee Shao
相关产品推荐
相关产品推荐

