上篇文章我们介绍了Spring Cloud Sleuth 链路追踪, 可以在输出的log中增加唯一请求的标识以及spanid, 然后可以采用ELK来对数据做集中管理,但是无法提供直观的调用链的展示,本章将介绍使用ZipKin来对数据进行展示。
ZipKin可以很直观的看出一个请求的调用链,从哪个服务开始,到哪个服务,期间用了多少时间等等信息。
首先我们需要创建一个ZipKin的项目,集成ZipKin的ui用于数据的展示和收集, pom.xml配置如下:
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
创建启动类
/**
* ZipKin Server
*
* @author yinjihuan
* @create 2017-11-28 11:18
**/
@SpringBootApplication
@EnableZipkinServer
public class ZipKinServerApplication {
public static void main(String[] args) {
SpringApplication.run(ZipKinServerApplication.class, args);
}
}
增加配置信息:
spring.application.name=fangjia-zipkin
server.port=9411
到此为止ZipKin的服务就创建好了, 启动后访问 http://localhost:9411/zipkin/ 就可以看到管理页面了
下面就是需要集成需要监控的服务,然后把数据发送到ZipKin中做显示
pom.xml配置信息如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
属性文件中可以配置zipkin的地址,默认是http://127.0.0.1:9411
# 配置zipKin Server的地址
spring.zipkin.base-url=http://127.0.0.1:9411
每个服务都是这样配置,然后访问服务接口,就能在ZipKin的web端看到数据了