Zipkinは正常に動作していますが、Sleuthはトレース情報をZipkinに送信していません。 Spring 1.5.8.RELEASE、Spring Cloud Dalston.SR4を使用しており、マイクロサービスに以下の依存関係を追加しました。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
私のログは常に偽になります:[FOOMS、2e740f33c26e286d、2e740f33c26e286d、false]
私のZipkinの依存関係は次のとおりです。
<dependency>
<groupId>io.zipkin.Java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.Java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<scope>runtime</scope>
</dependency>
Sluethステートメントでtrueではなくfalseになるのはなぜですか?ただし、traceIdとSpanIdは、すべての呼び出しに対して適切に生成されます。私のZipkinはポート9411で実行されています
サンプラーのパーセンテージを追加する必要があることがわかりました。デフォルトでは、サンプルのゼロパーセントが送信されます。そのため、sleuthはzipkinに何も送信していませんでした。プロパティファイルにspring.sleuth.sampler.percentage=1.0
を追加すると、動作を開始しました。
クラウド依存関係の最新バージョンの場合<version>Finchley.SR2</version>
トレースをzipkinに送信するための正しいプロパティは次のとおりです。spring.sleuth.sampler.probability=1.0
これはパーセンテージから確率に変わりました。
すべてのスパンデータをZipkinにエクスポートする場合は、SpringブートメインクラスでBean定義を作成することでサンプラーをインストールできます。
@Bean
public Sampler defaultSampler() {
return new AlwaysSampler();
}