Alibabacloud整合 链路追踪:Sleuth+Zipkin
本案列需要掌握Alibabacloud的搭建能力!!
链路追踪系统:
分布式应⽤架构虽然满⾜了应⽤横向扩展的需求,但是 运维和诊断的过程变得越来越复杂,例如会遇到接⼝诊 断困难、应⽤性能诊断复杂、架构分析复杂等难题,传 统的监控⼯具并⽆法满⾜,分布式链路系统由此诞⽣.
核⼼:
将⼀次请求分布式调⽤,使⽤GPS定位串起来,记 录每个调⽤的耗时、性能等⽇志,并通过可视化⼯具展示 出来.
注意: AlibabaCloud全家桶还没对应的链路追踪系统,我 们使⽤Sleuth和zipking(内部使⽤的鹰眼)
什么是Sleuth:
⼀个组件,专⻔⽤于记录链路数据的开源组件 。⽂档:https://spring.io/projects/spring-cloud-sleuth
微服务添加依赖:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency>
什么是zipkin:
获取zipkin官⽹
https://zipkin.io/
https://zipkin.io/pages/quickstart.html
个人云盘下载:
链接:https://pan.baidu.com/s/1er-uU1Ivoy2HSDARvTnOxQ
提取码:ityj
⼤规模分布式系统的APM⼯具(Application Performance Management),基于Google Dapper的 基础实现,和sleuth结合可以提供可视化web界⾯分析 调⽤链路耗时情况。
同类产品:鹰眼(EagleEye) CAT twitter开源zipkin,结合sleuth Pinpoint,运⽤JavaAgent字节码增强技术。
开始使⽤:
指令
java -jar zipkin-server-2.12.9-exec.jar
持久化指令(需要创建zipkin数据库)
java -jar zipkin-server-2.12.9-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST= ip --MYSQL_TCP_PORT=3306 --MYSQL_DB=zipkin --MYSQL_USER=账户 --MYSQL_PASS=密码
访问
访问⼊⼝:http://127.0.0.1:9411/zipkin/
Zipkin+Sleuth整合实战
微服务加⼊依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
配置地址和采样百分⽐配置
spring: application: name: api-gateway zipkin: base-url: http://127.0.0.1:9411/ #zipkin地址 discovery-client-enabled: false #不⽤开启服 #务发现 sleuth: sampler: probability: 1.0 #采样百分⽐
默认为0.1,即10%,这⾥配置1,是记录全部的sleuth信息, 是为了收集到更多的数据(仅供测试⽤)。 在分布式系统中,过于频繁的采样会影响系统性能,所以这⾥配 置需要采⽤⼀个合适的值。
访问接口,可以查看相应的链路性能监控