spring boot3 和 micrometer-tracing-bridge-brave 进行 rabbit 获取不到
时间: 2024-01-09 16:04:07 浏览: 43
如果您正在使用 Spring Boot 3 和 micrometer-tracing-bridge-brave 进行 RabbitMQ 追踪,但无法获取到数据,可能是配置不正确或代码实现有误。
首先,您需要确保您的应用程序已正确配置 micrometer 和 rabbitmq。您可以在 `application.properties` 或 `application.yml` 配置文件中添加以下属性:
```
# micrometer
management.metrics.export.tracing.enabled=true
# rabbitmq
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
```
接下来,您需要在您的代码中添加以下依赖:
```xml
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<version>${micrometer.version}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>${micrometer.version}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-tracing</artifactId>
<version>${micrometer.version}</version>
</dependency>
<dependency>
<groupId>io.zipkin.brave</groupId>
<artifactId>brave</artifactId>
<version>${brave.version}</version>
</dependency>
<dependency>
<groupId>io.zipkin.brave</groupId>
<artifactId>brave-instrumentation-messaging-rabbitmq</artifactId>
<version>${brave.version}</version>
</dependency>
```
其中 `${micrometer.version}` 和 `${brave.version}` 分别是 micrometer 和 brave 的版本号。
最后,您需要在您的代码中使用以下代码进行跟踪:
```java
@Bean
public Tracing tracing() {
return Tracing.newBuilder()
.localServiceName("your-service-name")
.propagationFactory(Propagation.B3_FACTORY)
.build();
}
@Bean
public Tracer tracer(Tracing tracing) {
return tracing.tracer();
}
@Bean
public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory, Tracer tracer) {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setBeforePublishPostProcessors(
TraceMessagePostProcessorBuilder
.newInstance(tracer)
.build()
);
return rabbitTemplate;
}
```
这将创建一个跟踪实例,并在 RabbitMQ 消息发布之前添加跟踪信息。
希望这可以帮助您解决问题。如果有任何进一步的问题,请随时问我。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)