SpringCloud Sleuth

Sleuth在老东家用过,主要是开发人员也用不上,就没管.
当时A服务调用B服务,B服务报错,A服务就直接报500,刚进公司的时候没经验,看到500,一脸懵逼,什么鬼
有这个,能看到服务调用服务用了多长时间,以及各种统计
但是我也是没有明白zipkin和sleuth有什么关系

服务端

  • 端口号是:1006
  • 导包,log4j2 会和logback有冲突
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>2.9.4</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>2.9.4</version>
</dependency>

启动类

1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableDiscoveryClient
@EnableZipkinServer
public class SleuthB2bApplication {

public static void main(String[] args) {
SpringApplication.run(SleuthB2bApplication.class, args);
}
}

配置文件

1
management.metrics.web.server.auto-time-requests=false

客户端

1
2
3
4
5
6
<!--sleuth 追踪-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
  • 制定zipkin的地址
  • 1.0 代表收集所有的日志
1
2
3
#Zipkin
spring.zipkin.base-url= http://localhost:1006
spring.sleuth.sampler.probability= 1.0

访问

http://localhost:xxx/zipkin/

zipkin

试下服务调用服务,再看效果