在spring boot2.0以上的版本中,官方不再支持使用自建Zipkin Server的方式进行服务链路追踪,而是直接提供了编译好的 jar 包来给我们使用。网上对于该问题的处理建议较少,很难找到参考资料,可以参考Yibo的这篇文章:https://windmt.com/2018/04/24/spring-cloud-12-sleuth-zipkin/
文中能够解决spring boot2使用zipkin进行服务链路追踪的问题,但是在使用rabbimq时,文中提到使用
RABBIT_ADDRESSES=localhost java -jar zipkin.jar
来启动zipkin.jar,但是这句话让人很难理解是什么意思,可以看出应该是在启动zipkin时指定了rabbitmq的服务器,如果只是将该语句在CMD中运行肯定是不可以的,下面分析如何启动:
zipkin.jar作为一个springboot项目,其配置可以在启动时修改,例如修改其配置的rabbitmq地址:
java -jar zipkin.jar --zipkin.collector.rabbitmq.addresses=localhost
通过这种方式可以启动zipkin然后使用rabbitmq进行链路追踪。另外在zipkin中配置的rabbitmq的用户名和密码是guest、guest如果你的rabbitmq用户名密码不是这个也要修改配置启动。
zipkin.jar的yml配置文件内容可在此处查看:https://github.com/openzipkin/zipkin/blob/master/zipkin-server/src/main/resources/zipkin-server-shared.yml
这是配置文件的截图
: