spring cloud分布式整合zipkin的链路跟踪
Posted IT高飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring cloud分布式整合zipkin的链路跟踪相关的知识,希望对你有一定的参考价值。
为什么使用zipkin?
上篇主要写了:spring cloud分布式日志链路跟踪
从上篇中可以看出服务之间的调用,假设现在有十几台服务,那么在查找日志的时候比较繁琐、复杂,而且在查看调用的时候也会像蜘蛛网一样,量太大。
这时候zipkin可以把链路调用整个过程给升级起来,只需要到一个地方去查找,就可以知道哪一步出错。
zipkin也分为服务器和客户端,服务器就是zipkin,微服务就是客户端。
首先,建立服务器zipkin
在此服务build.gradle加上zipkin的依赖:
compile \'io.zipkin.java:zipkin-server\'
compile \'io.zipkin.java:zipkin-autoconfigure-ui\'
这里可以看到它不是属于spring中的
在application.yml配置中:
server: port: 9999 spring: application: name: zipkin-server #注册到注册中心的名字,可以映射ip
配置文件非常简单
启动类:
@EnableZipkinServer //表示Zipkin是服务器 @SpringBootApplication public class ZipkinServerProdiver { public static void main(String[] args) { SpringApplication.run(ZipkinServerProdiver.class,args); } }
接着在对于zipkin服务器的客户端build.gradle中加上依赖:
//表示zipkin的客户端 compile group: \'org.springframework.cloud\', name: \'spring-cloud-sleuth-zipkin\'
这里用到那几个zipkin的客户端就在里面加入依赖
当然在客户端配置文件application.yml中,也要加入zipkin的配置:
spring: zipkin: base-url: http://localhost:9999 #代表字zipkin服务器地址 sleuth: sampler: percentage: 1.0 #0.1-1.0 也就是代表链路跟踪的数据上传的概率有多大
启动zipkin服务器:http://localhost:9999
看到这样就证明启动成功啦
下面启动项目,执行微服务之间的调用,并刷新zipkin服务器:
这里可以看到我执行了4次,出现了4个链路,我是根据时间来查找的,也可以根据控制台或日志中的链路编码来查找:
我在控制台随便拿一个进行查找:
可以看到查找到了
zipkin也有链路分析:
它也可以时间和链路编码来查找,这样我们想查找哪一时间段的或精准到哪一条就非常方便了
如果看不懂的小伙伴请参考我前面的博客进行浏览,或许就茅塞顿开啦!
以上是关于spring cloud分布式整合zipkin的链路跟踪的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud 整合分布式链路追踪系统Sleuth和ZipKin实战,分析系统瓶颈
spring cloud 入门系列八:使用spring cloud sleuth整合zipkin进行服务链路追踪
31Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client
解决Spring Cloud整合 zipkin 的报错异常 code:404 msg: service not found: DEFAULT_GROUP@@localhost
解决Spring Cloud整合 zipkin 的报错异常 code:404 msg: service not found: DEFAULT_GROUP@@localhost