私はマイクロサービス間のAsyng呼び出しにKafkaを使用していますが、私はロギングにSpring Sleuthを使用しています。ロギングは正常ですが、Microservice1からMicroservice2へのメッセージがある場合、ロギングのメッセージには異なるTrace-IDがあります。彼らは同じトレースIDを持っている必要はありませんが、別のSpanIdを持っていませんか?特別な構成はありますか?Spring Cloud他のトレースIDがKafkaと統合
1
A
答えて
2
デフォルトでは、メッセージヘッダーはSpring Cloud Kafkaバインダーによって移送されません。の説明に従って、spring.cloud.stream.kafka.binder.headers
を手動で設定する必要があります。トレースに関連するヘッダーが正しく送信されているかどうかを確認します。
あなたのapplication.ymlで、次のようZipkinヘッダーを設定することができます
spring:
cloud:
stream:
kafka:
binder:
headers:
- X-B3-TraceId
- X-B3-SpanId
- X-B3-Sampled
- X-B3-ParentSpanId
- X-Span-Name
- X-Span-Export
またはあなたのapplication.properties中:
spring.cloud.stream.kafka.binder.headers[0]=X-B3-TraceId
spring.cloud.stream.kafka.binder.headers[1]=X-B3-SpanId
spring.cloud.stream.kafka.binder.headers[2]=B3-Sampled
spring.cloud.stream.kafka.binder.headers[3]=X-B3-ParentSpanId
spring.cloud.stream.kafka.binder.headers[4]=X-Span-Name
spring.cloud.stream.kafka.binder.headers[5]=X-Span-Export
またはカンマで区切ったリストで:
spring.cloud.stream.kafka.binder.headers=X-B3-TraceId,X-B3-SpanId,B3-Sampled,\
X-B3-ParentSpanId,X-Span-Name,X-Span-Export
+0
ありがとうございました! :D – AleGallagher
関連する問題
- 1. Spring Cloud Stream - Kafkaバインダーの統合/設定
- 2. Spring KafkaとSpring Cloud契約
- 3. spring-amqpとspring-cloud-sleuthの統合
- 4. Spring Cloud DataFlowとKafkaのセキュリティ
- 5. spring-cloud-stream kafka avro
- 6. Spring CloudデータフローSparkとの統合
- 7. spring-cloud-sleuthトレースhessianクライアント
- 8. KafkaソースとSpring CloudのHDFSシンクデータフロー
- 9. Spring Cloud Stream Kafkaバインダー圧縮
- 10. spring-cloud-stream kafkaエラー処理
- 11. Spring Cloud Data FlowとSCDF Kafka DataSource
- 12. Apache KafkaとTomcatおよびSpringとの統合
- 13. Kafka ErrorHandlingとの春の統合
- 14. Apache CalciteとKafkaの統合
- 15. MSSQLとKAFKAの統合
- 16. angular.js apache kafkaとの統合
- 17. IgniteとKafkaの統合
- 18. Spring統合とSpring MVCの統合
- 19. JenkinsとJIRA Cloudの統合
- 20. スプリング統合kafkaアウトバウンドアダプタエラーハンドル
- 21. ドーザーとSpring統合
- 22. Spring RabbitMQ統合、クライアントID、一意のクライアントを識別するユーザーIDとアプリケーションID
- 23. Spring Cloud Stream Kafkaレコードが大きすぎます
- 24. Spring Cloud Stream Kafka - EmbeddedHeadersMessageConverter - StringIndexOutOfBoundsException:文字列インデックスが範囲外です
- 25. ShindigとのSpring統合
- 26. VaadinとSpring MVCの統合
- 27. SpringとLDAPの統合
- 28. Spring MVCとTilesの統合
- 29. GWT 2.4 Springとの統合
- 30. SpringとMockフレームワークの統合
デフォルトでは、メッセージヘッダーはKafkaバインダーによって転送されません。あなたは 'spring.cloud.stream.kafka.binder.h eaders」(http://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_kafka_binder_properties)を参照してください。トレースに関連するヘッダーが正しく送信されているかどうかを確認します。 – tan9
snwer @ tan9ありがとう! :D。 X-B3-TRACEID - - X-B3-SpanId - X-B3- : 春: クラウド: ストリーム: カフカ: バインダー: ヘッダ IはYAMLファイルからこのコードを発見しましたX-Process-Id - X-B3-ParentSpanId - X-Span-Name - X-Process-Id application.propertiesファイルをどのように入れるのか知っていますか? – AleGallagher
'spring.cloud.stream.kafka.binder.headers [0] = X-B3-TraceId' ' spring.cloud.stream.kafka.binder.headers [1] = X-B3-SpanId' ... または 'spring.cloud.stream.kafka.binder.headers = X-B3-SpanId、X-B3-SpanId、... 'を使用してください。 – tan9