目录
一:在springcloud的版本
在clould的2个版本中D版本和F版本中,其中F切合了springloud2.0x。但是在F其中推荐的zipkin中支持自定义修改,好来看了一眼
在zipkin尽然不是apache推荐的jar。目前我们直接针对jar的启动添加启动参数。官网jar包下载请参考本文基于cloud的F版本:
https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
二:http+sleth方式启动
1.基于http+sleth方法的访问(2个客户端):
###client
spring:
sleuth:
web:
client:
enabled: true
sampler:
probability: 1.0 # 将采样比例设置为 1.0,也就是全部都需要。默认是 0.1
zipkin:
base-url: http://localhost:8555/ # 指定了 Zipkin 服务器的地址
2.启动zipkin-server.jar
jarbao目录下命令行:jar -jar zipkin-server.jar --server.port=8555 ( zipkin-server.jar包名 )
3.访问、测试
a.2个客户端互相访问
b.访问8555端口查看zipkin(具体页面含义,自行百度,后置版本支持中文)
三:rabbitmq启动
1.使用rabiitmq来收集信息(2个客户端)
spring:
zipkin:
#日志发送队列类型
sender:
type: rabbit
#发送的队列名称,默认zipkin,正常情况不要修改因为zipkin-server默认监控队列也是zipkin
rabbitmq:
queue: zipkin #rabbitmq通道名称,zip的jar默认为zipkin
sleuth:
#统计收集百分比默认0.1,正式环境可不配置
sampler:
percentage: 1.0
2.启动命令
jarbao目录下命令行:
java -jar zipkin-server.jar --server.port=8555 --RABBIT_ADDRESSES=localhost
ps:可添加的其他启动命令
3.测试、查看
a.2个客户端互相访问
b.访问8555端口查看zipkin(具体页面含义,自行百度,后置版本支持中文)
ps:基于mq方式的访问,并不会因为zipkin的客户端停掉而停止收集,即只要有调用,无论什么时候启动客户端都会收集到
四:基于mysql的数据存储
说明:采集来的数据信息信息如果需要持久化
1.创建zipkin数据库,运行脚本文件,(https://github.com/apache/incubator-zipkin/blob/master/zipkin-storage/mysql-
v1/src/main/resources/mysql.sql)
2.启动方式(这些参数应该不用说明白了吧)
java -jar zipkin-server.jar --server.port=8555 --RABBIT_ADDRESSES=localhost --STORAGE_TYPE=mysql
-- MYSQL_USER=root --MYSQL_PASS=root --MYSQL_HOST=127.0.0.1 MYSQL_TCP_PORT=3306
3.访问、测试
同上。
五:基于elasticsearch存储
1.首先安装好elasticsearch和可视化工具kibana(https://blog.csdn.net/liubenlong007/article/details/87906269)
ps:我这里使用了zipkin2.9.4/2.5.0等版本测试了es7.1.1版本出现冲突,后来es改成了6.8.x版本。
2.脚本启动
java -jar zipkin-server.jar --server.port=8080 --RABBIT_ADDRESSES=localhost --STORAGE_TYPE=elasticsearch --
ES_HOSTS = http:// localhost:9200
(其他参数的设置:https://github.com/openzipkin/zipkin/tree/master/zipkin-server)
3.测试
a.b测试同上,主要看es中的数据
六:总结
(1)基于sleth采样,sleth的采样率0.1~1,我们这里使用了1。其中数值越大,采样越快,但是系统负担越大,实际生产中我们
最好使用0.1的采用率。