Kafka Spring Boot 2和Spring Boot3上的应用程序之间的跟踪

bqucvtff  于 2023-05-05  发布在  Apache
关注(0)|答案(2)|浏览(176)

我有几个Sping Boot 应用程序,其中一个使用Spring Boot 3,其他的使用Spring Boot 2。我需要在它们之间以及它们和Kafka之间实现请求跟踪。然而,我还没有找到任何关于如何在一个应用程序上通过Spring Cloud Sleuth集成跟踪和在另一个应用程序上集成Micrometer-tracing的信息。是否有任何方法可以在使用千分尺跟踪的应用程序中检索由Sleuth生成的跟踪ID?
我尝试在应用程序中连接sleuth和micrometer-tracing,并向spring Boot 2应用程序发送http请求,该应用程序向读取spring boot 3应用程序的Kafka发送消息,但traceId仅显示在spring boot 2应用程序中

2ic8powd

2ic8powd1#

嘿,我们在wiki页面中描述了如何从 Boot 2.7迁移到Boot 3.0(https://github.com/micrometer-metrics/tracing/wiki/Spring-Cloud-Sleuth-3.1-Migration-Guide)。您应该在 Boot 2.7端提供2种传播类型(W3C,B3),Boot 3.0将自动选择W3C传播类型。
由于 Boot 3.0不允许连接的span并将跟踪id设置为128位,因此在Sleuth端设置相同的配置。

spring.sleuth.traceId128=true
spring.sleuth.supportsJoin=false
41zrol4v

41zrol4v2#

Sleuth和千分尺跟踪都支持B3和W3C传播格式。默认情况下,Sleuth使用B3, Boot 3将千分尺跟踪配置为使用W3C。更改此行为是:

# Boot 2.x/Sleuth
spring.sleuth.propagation.type

# Boot 3.x/Micrometer Tracing
management.tracing.propagation.type

相关问题