web-dev-qa-db-ja.com

Sleuthがトレース情報をZipkinに送信しない

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で実行されています

7
codingsplash

サンプラーのパーセンテージを追加する必要があることがわかりました。デフォルトでは、サンプルのゼロパーセントが送信されます。そのため、sleuthはzipkinに何も送信していませんでした。プロパティファイルにspring.sleuth.sampler.percentage=1.0を追加すると、動作を開始しました。

8
codingsplash

クラウド依存関係の最新バージョンの場合<version>Finchley.SR2</version>
トレースをzipkinに送信するための正しいプロパティは次のとおりです。spring.sleuth.sampler.probability=1.0これはパーセンテージから確率に変わりました。

4
Matt

すべてのスパンデータをZipkinにエクスポートする場合は、SpringブートメインクラスでBean定義を作成することでサンプラーをインストールできます。

  @Bean
  public Sampler defaultSampler() {
    return new AlwaysSampler();
  }
2
jramapurath