我的目的是跟踪对我的系统的每个请求。我在 Youtube 上观看了下面的 2 个视频来配置 Micrometer 和 Zipkin 进行跟踪。
但是,当我访问
http://localhost:9411/zipkin/
时,它工作不正常,让我很困惑。
所以我有一些疑问:
order-service
,2个来自product-service
),为什么它只显示来自order-service
的请求,如下所示
api-gateway service
,但这和视频1不一样。对于 Micrometer 配置,我参考了 Micrometer 和 Zipkin:如何在 Spring Boot 3 中跟踪 HTTP 请求
我将
management.tracing.sampling.probability=1.0
插入到每个 application.properties
文件中,并将这些依赖项插入到每个 pom.xml 中
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.reporter2</groupId>
<artifactId>zipkin-reporter-brave</artifactId>
</dependency>
这是我的架构系统:
首先,我尝试检查
management.tracing.sampling.probability=1.0
,它引发了一个错误:
Cannot resolve configuration property 'management.tracing.sampling.probability'
我真的不明白为什么会这样,后来我发现不一样,有2个依赖项,它们看起来很相似:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
</dependency>
...................
...................
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
actuator.micrometer-tracing.tracer-implementations
,我意识到我真正需要的依赖是spring-boot-starter-actuator
我从文档中插入了三个新的依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-otel</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-zipkin</artifactId>
</dependency>
总而言之,我们将使用这些依赖项通过 Micrometer 和 Zipkin 来跟踪 http 请求。