链路追踪工具Zipkin简单整合
Zipkin 是一个开放源代码分布式的跟踪系统,每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图。
Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch。为了方便在开发环境我直接采用了In-Memory方式进行存储,生产数据量大的情况则推荐使用Elasticsearch。
构建zipkin服务端
在spring Cloud为Finchley版本时,如果只需要默认的实现,则不需要自己构建Zipkin Server了,只需要下载jar即可,下载地址:
https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
这里我下载的是zipkin-server-2.12.2-exec.jar
版本的jar包
通过以下命令启动服务,默认INFO级别可以不设置logging
java -jar zipkin-server-2.12.2-exec.jar --logging.level.zipkin2=INFO
服务启动后默认可以通过9411端口访问zipkin的监控页面
http://127.0.0.1:9411
依赖配置
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
配置
spring:
zipkin:
base-url: http://127.0.0.1:9411
sleuth:
sampler:
percentage: 1.0