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.
If you're using Edgware release train, just set spring.zipkin.sender.type=web
. That way you force the HTTP based span sending