SpringCloud微服务监控——zipkin:微服务链路跟踪
文章目录服务端下载jar包编写启动脚本客户端引入jar包添加配置文件总结在搭建zipkin服务端的时候,以前通常的做法是:在pom文件中加入jar包:<dependency><groupId>io.zipkin.java</groupId><artifactId>zipkin-server</artifactId>...
在搭建zipkin服务端的时候,以前通常的做法是:
在pom文件中加入jar包:
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>2.11.12</version>
</dependency>
然后在启动类上加入注解:@EnableZipkinServer。但是,却发现这个注解被打上了过时的标记,查看源码知道:
官方已经不建议自己来写zipkin服务端了,直接到官方地址下载相应的jar包就可以了。
服务端
下载jar包
直接到官方地址下载相应的jar包就可以了。这里我下载的是zipkin-server-2.15.0-exec.jar。
编写启动脚本
在官方的文档中zipkin-server,介绍了如何配置。在这里,我们配置一个基于ELK的链路收集:
@echo off
START "zipkin-server" java -Xmx256m -Xms256m -Xss256k -DKAFKA_BOOTSTRAP_SERVERS=192.168.xx.xxx:9092 -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=192.168.xx.xxx:9200 -jar zipkin-server-2.15.0-exec.jar --server.port=9005
pause
客户端
引入jar包
在原有的spring boot项目中,引入jar包:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
添加配置文件
在spring boot项目的application.properties文件中,加入配置:
#将采样比例1.0是全部都采集,默认是0.1
spring.sleuth.sampler.probability=1.0
spring.zipkin.sender.type=kafka
#zipkin里看到的的service name
spring.zipkin.service.name=${spring.application.name}
#集群的情况直接用“,”分割
spring.kafka.bootstrap-servers=192.168.13.192:9092
总结
这里,zipkin展示的信息,其实不是直接来自于微服务客户端,而是客户端先将数据推送到kafka,然后zipkin再异步的消费这些信息。无论是客户端还是服务端,在指定kafka的时候,都不需要指定topic,会自动将信息推送到kafka中名为zipkin的主题上。
信息倒是消费了,但是kafka并不管存储这些信息,所有这个时候需要把这些信息存储起来,便于日后查看。这些信息可以存储于内存(测试用,重启zipkin后就没有了),MySql等,这里采用的是Elasticsearch来持久化数据存储。
另外,也可以不基于ELK来收集这些信息,具体配置,参见官方文档:
https://github.com/openzipkin/zipkin#quick-start
https://github.com/openzipkin/zipkin/tree/master/zipkin-server
https://zipkin.io/pages/quickstart.html
更多推荐
所有评论(0)