Search code examples
spring-cloudzipkinspring-cloud-sleuth

Disable AMQP integration with Sleuth


I have a Java Spring-Cloud-based microservice integrated with RabbitMQ using Spring Boot Starter AMQP (extract from a pom.xml below):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

Now I would like to connect this service to the Zipkin monitoring using Sleuth. According to the documentation, when AMQP support is enabled, Sleuth sends all its data through a RabbitMQ queue. For some reason I would like to disable this default behaviour and send data via HTTP. Probably there is one magic property which I cannot find. Do you know how I can force my application to send Sleuth-related data via HTTP to a Zipkin Server (also a Spring Boot application with @EnableZipkinServer annotation)?

In addition I would like to mention that after removing the AMQP support everything works fine, i.e. Zipkin receives tracing data via HTTP.

Moreover, setting both spring.zipkin.collector.http.enabled: true and spring.zipkin.collector.amqp.enabled: false (and spring.zipkin.collector.rabbitmq.enabled: false) does not help.


Solution

  • If you're using Edgware release train, just set spring.zipkin.sender.type=web. That way you force the HTTP based span sending