侦探未向 Zipkin 发送跟踪信息

Sleuth not sending trace information to Zipkin

Sleuth 没有向 Zipkin 发送跟踪信息,即使 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,假]

我的 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 语句中得到的是 false 而不是 true? traceId 和 SpanId 是为所有调用正确生成的。我的 Zipkin 在 9411

端口 运行

我发现我需要添加一个采样率。默认情况下,发送的样本百分比为零,这就是侦探不向 zipkin 发送任何内容的原因。当我在属性文件中添加 spring.sleuth.sampler.percentage=1.0 时,它开始工作了。

如果要将所有跨度数据导出到 Zipkin,可以通过在 Spring boot main class

中创建一个 bean 定义来安装采样器
  @Bean
  public Sampler defaultSampler() {
    return new AlwaysSampler();
  }

对于最新版本的云依赖<version>Finchley.SR2</version>
将跟踪发送到 zipkin 的正确 属性 是:spring.sleuth.sampler.probability=1.0 从百分比变为概率。