一、搭建步驟
1)新建Spring Boot項目,引入pom坐標
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <!-- http --> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-server</artifactId> <version>2.10.3</version> </dependency> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-autoconfigure-ui</artifactId> <version>2.10.3</version> </dependency> <!-- 使用消息的方式收集數據(使用rabbitmq) --> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-autoconfigure-collector-rabbitmq</artifactId> <version>2.12.9</version> </dependency> </dependencies>
2)增加相關配置
spring.application.name: base-zipkin-server server.port: 9411 zipkin.collector.rabbitmq.addresses: localhost:5672 zipkin.collector.rabbitmq.username: guest zipkin.collector.rabbitmq.password: guest zipkin.collector.rabbitmq.queue: zipkin
#zipkin啟動或訪問報錯無法訪問的解決方法 management.metrics.web.server.auto-time-requests: false
3)啟動類增加注解
@EnableZipkinServer @SpringBootApplication public class BaseZipkinServerMqApplication { public static void main(String[] args) { SpringApplication.run(BaseZipkinServerMqApplication.class, args); } }
4)訪問http://lo-calhost:9411/,可以看到、Zipkin管理頁面
二、應用服務如何以RabbitMQ的方式,將sleuth生成的traceId等追蹤數據發送到Zipkin中
1)增加pom坐標
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>
2)增加配置,指定MQ的配置
# 指定消息發送方式,web、rabbit、kafka spring.zipkin.sender.type: rabbit # 指定mq隊列名稱 zipkin.rabbitmq.queue: zipkin # rabbitmq配置 spring.rabbitmq.host: localhost spring.rabbitmq.port: 5672 spring.rabbitmq.username: guest spring.rabbitmq.password: guest