一、spring cloud sleuth链接监控简介
traceId: 一条链路中可以包含多个,一个traceId标记一次请求;
spanId: 一次请求包含一个;
true/false:是否需要把输出的数据展示到其他的平台上;
Annotation(标记):
- cs client send
- sr service receive
- ss service send
- cr client receive
sleuth链路数据可以通过zipkin来进行收集和展示,关于zipkin的下载安装启动点此查看:zipkin下载安装启动
二、pom.xml依赖
实现链路监控我们需要sleuth和zipkin依赖。sleuth用于监控、发送请求、接口的运行情况,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>
三、yml配置文件配置
spring:
sleuth:
sampler:
probability: 1.0 #span的采样率,默认为0.1
rate: 10000 # 速率限制采样器,最小数字为0,最大值为2,147,483,647(最大int)
zipkin:
base-url: http://localhost:9411/ #zipkin服务地址
logging:
level:
org.springframework.cloud.sleuth: debug
注意:所有涉及链路的项目里面都需要添加pom依赖,并在配置文件中添加配置项。比如A服务调用B服务,B服务调用C服务,则A、B、C三个服务都需要引入pom依赖,配置对应的配置文件。
四、查看链路监控
所有配置了链路监控的项目启动,都会看到控制台有类似如下日志打印:
有请求过来,都会看到控制台打印出对应的服务名称、traceId、spanId等信息,如下图:
打开zipkin刷新即可看到上报的链路信息: