我使用Spring Cloud Stream和Kafka Binder进行了2次Spring启动微服务。我使用Spring cloud sleuth依赖项进行日志跟踪。在微服务A中,在将事件发布到kafka中的主题时,我将trackId设置为
ExtraFieldPropagation.set("trackId","valueHeader");
我没有把这个值作为微服务B中的行李标题。我得到的是TraceId,SpanID,但不是我设置的行李元素,如上所述。
答案 0 :(得分:0)
您是否阅读了本节下的文档? https://cloud.spring.io/spring-cloud-static/Finchley.RC2/single/spring-cloud.html#_prefixed_fields
与之前版本的侦探的不同之处在于,对于Brave,你 必须通过行李钥匙清单。有两个属性 实现这一点。使用spring.sleuth.baggage-keys,您可以设置密钥 以行李为前缀 - 用于HTTP呼叫和行李_用于消息传递。 您还可以使用spring.sleuth.propagation-keys属性来传递 列入白名单且没有任何前缀的前缀键列表。
您是否明确提供了行李钥匙?例如。 https://github.com/spring-cloud-samples/sleuth-documentation-apps/blob/master/service1/src/main/resources/application.yaml#L9-L11
spring:
sleuth:
# you have to explicitly provide baggage keys
baggage-keys:
- trackId
- valueHeader