Spring Cloud Sleuth Traces w/ Gradle 未出现在 Zipkin 中
Spring Cloud Sleuth Traces w/ Gradle not showing up in Zipkin
我有一个 Spring Cloud Sleuth + Stream 应用程序在使用 maven 时工作并发送到我本地的 OpenZipkin (docker),但是当我尝试 运行 一个 gradle spring 启动应用程序然后 Zipkin 不显示痕迹。有趣的是,Spring 日志似乎显示了正确的跟踪信息。所以应用程序本身可以识别 Sleuth,但出于某种原因,Zipkin 要么没有收到信息,要么没有显示。我进入了 zipkin 容器,找不到任何日志。这怎么能出事呢?使用 Maven 不需要的 gradle 时是否需要设置某些内容?
配置信息:
在 build.gradle 文件中,我将 sleuth 包含在内:
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
版本信息:
- 设置('springCloudVersion', "2020.0.4")
- id 'org.springframework.boot' 版本 '2.5.4'
- id 'io.spring.dependency-management' 版本 '1.0.11.RELEASE'
我在 application.yaml 中配置的唯一内容如下,在 gradle 和 Maven 应用程序中都是相同的。所以我没有指向 zipkin 或类似内容的其他地址:
spring:
application:
name: OrchestratorService
sleuth:
sampler:
probability: 1.0
应用日志识别 Sleuth 并在每个日志条目中包含应用名称和跟踪信息,例如:
[2m2021-10-06 10:42:22.508[0;39m [32m INFO [OrchestratorService,9b22b40072a8931c,3f954b3ab81e4e7d][0;39m [35m21261[0;39m [2m---[0;39m [2m[pool-6-thread-1][0;39m [36ms.s.d.f.O.OrchestratorServiceApplication[0;39m [2m:[0;39m No further outbound event for card block service required. (No fraud was detected.)
请按照文档中的说明进行操作:
使用 spring-cloud-starter-sleuth
应该添加带有日志相关性的 Sleuth 支持,如果您还想将跨度发送到 Zipkin,请使用 spring-cloud-sleuth-zipkin
。
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${releaseTrainVersion}"
}
}
dependencies {
implementation "org.springframework.cloud:spring-cloud-starter-sleuth"
implementation "org.springframework.cloud:spring-cloud-sleuth-zipkin"
}
我有一个 Spring Cloud Sleuth + Stream 应用程序在使用 maven 时工作并发送到我本地的 OpenZipkin (docker),但是当我尝试 运行 一个 gradle spring 启动应用程序然后 Zipkin 不显示痕迹。有趣的是,Spring 日志似乎显示了正确的跟踪信息。所以应用程序本身可以识别 Sleuth,但出于某种原因,Zipkin 要么没有收到信息,要么没有显示。我进入了 zipkin 容器,找不到任何日志。这怎么能出事呢?使用 Maven 不需要的 gradle 时是否需要设置某些内容?
配置信息:
在 build.gradle 文件中,我将 sleuth 包含在内:
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
版本信息:
- 设置('springCloudVersion', "2020.0.4")
- id 'org.springframework.boot' 版本 '2.5.4'
- id 'io.spring.dependency-management' 版本 '1.0.11.RELEASE'
我在 application.yaml 中配置的唯一内容如下,在 gradle 和 Maven 应用程序中都是相同的。所以我没有指向 zipkin 或类似内容的其他地址:
spring:
application:
name: OrchestratorService
sleuth:
sampler:
probability: 1.0
应用日志识别 Sleuth 并在每个日志条目中包含应用名称和跟踪信息,例如:
[2m2021-10-06 10:42:22.508[0;39m [32m INFO [OrchestratorService,9b22b40072a8931c,3f954b3ab81e4e7d][0;39m [35m21261[0;39m [2m---[0;39m [2m[pool-6-thread-1][0;39m [36ms.s.d.f.O.OrchestratorServiceApplication[0;39m [2m:[0;39m No further outbound event for card block service required. (No fraud was detected.)
请按照文档中的说明进行操作:
使用 spring-cloud-starter-sleuth
应该添加带有日志相关性的 Sleuth 支持,如果您还想将跨度发送到 Zipkin,请使用 spring-cloud-sleuth-zipkin
。
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${releaseTrainVersion}"
}
}
dependencies {
implementation "org.springframework.cloud:spring-cloud-starter-sleuth"
implementation "org.springframework.cloud:spring-cloud-sleuth-zipkin"
}