【Spring Cloud】Spring Cloud之Zipkin server搭建以及HTTP收集,分布式服务跟踪(2)
一、搭建步骤
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> <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> </dependencies>
2)增加相关配置
spring.application.name: base-zipkin-server server.port: 9411 #zipkin启动报错无法访问的解决方法 management.metrics.web.server.auto-time-requests: false
3)启动类增加注解
@EnableZipkinServer @SpringBootApplication public class BaseZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(BaseZipkinServerApplication.class, args); } }
4)访问http://lo-calhost:9411/,可以看到、Zipkin管理页面
二、应用服务如何以http的方式,将sleuth生成的traceId等追踪数据发送到Zipkin中
默认是以http的方式进行发送的,相关配置如下
1)增加pom坐标
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sleuth-zipkin</artifactId> <version>2.0.3.RELEASE</version> </dependency>
注意这里的版本是2.0.3.RELEASE,那么需要Zipkin server的版本依赖的parent版本尽量也要2.0.3.RELEASE。因为传递追踪数据的接口存在升级的情况,比如
在Zipkin Server版本在 1.5左右时,接口地址为/api/v1/spans,版本在2.0时,接口地址为/api/v2/spans。这里只是大致的版本哈。
另外需要注意的是,maven坐标中不能有spring-boot-starter-amqp的坐标,不然不会以HTTP的方式收集,而是以消息队列的方式收集,坐标如下:
<!--amqp--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
2)增加配置,指定Zipkin服务的地址,
spring: zipkin: base-url: http://localhost:9411
你投入得越多,就能得到越多得价值