前言:
SpringCloud Sleuth是SpringCloud提供的链路监控组件,它提供了分布式链路追踪的解决方案,可以追踪微服务系统中一次请求的完整过程。Zipkin是一个分布式的链路追踪系统,它有助于收集所需的时序,并且有图形化界面。 SpringCloud Sleuth中集成Zipkin也是非常简单,只需引用相关架包进行简单配置就可以使用,具体方法如下:
正文:
一、版本信息:
SpringCloud Greenwich版本、Springboot 2.1.4.RELEASE版本、Zipkin-server 2.11.8 版本
二、配置Zipkin Server:
1.引入依赖架包:
<!--zipkin-server-->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>2.11.8</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>2.11.8</version>
</dependency>
2.Springboot启动类上添加@EnableZipkinServer注解:
注解过期的原因是,在Springboot2.X版本中,Zipkin建议直接从GitHub拉去代码打包编译使用,不建议自定义。
3.配置YAML文件:
------------- Server端 -------------
#zipkin启动报错无法访问的解决方法
management:
metrics.web.server.auto-time-requests: false
4.启动:
三、 配置Zipkin Client:
1.引入依赖架包:
<!--zipkin-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2.配置YAML文件:
------------- Client端 -------------
spring:
###-----------------------Sleuth分布式跟踪配置---------------------
sleuth:
sampler:
percentage: 1.0 #指定需要采样的请求的百分比,默认值是0.1(10%)。
###-----------------------Zipkin链路追踪配置---------------------
zipkin:
base-url: http://hanxiaozhang-zipkin-server/
3.使用:
Step 1:填入相关条件,点击 Find Traces ,就可以看到相关请求链路:
Step 2:点击一个链路信息,就可以看到链路具体信息: