1. 什么是分布式链路追踪
随着分布式服务架构的风行,特地是微服务等设计理念在零碎中的利用,业务的调用链越来越简单。相干产品还有 skywalking、zipkin
分布式服务跟踪是整个分布式系统中跟踪一个用户申请的过程(包含数据采集、数据传输、数据存储、数据分析、数据可视化),捕捉此类跟踪让咱们构建用户交互背地的整个调用链的视图,这是调试和监控微服务的要害工具。Spring Cloud Sleuth 是 Spring Cloud 为分布式服务跟踪提供的解决方案,有了它,咱们能够:
- 提供链路追踪,故障疾速定位:能够通过调用链联合业务日志疾速定位错误信息。
- 可视化各个阶段耗时,进行性能剖析
- 各个调用环节的可用性、梳理服务依赖关系以及优化
- 数据分析,优化链路:能够失去用户的行为门路,汇总剖析利用在很多业务场景。
2. 疾速应用 springcloud-sleuth
2.1 springboot 启动日志
springboot 我的项目启动时日志如下:
当有申请进入时,控制台打印日志如下:(本我的项目没有配置 spring.application.name)
2.2 日志含意
第一个值:trace1,它示意利用的名称,也就是配置文件 spring.application.name 的值。
第二个值:454445a6a7d9ea44,它是 SpringCloudSleuth 生成的一个 ID,称为 Trace ID,它用来标识一条申请链路,一条申请链路中蕴含一个 Trace ID,多个 Span ID。
第三个值:912a7c66c17214e0,它是 SpringCloudSleuth 生成的另外一个 ID,称为 Span ID,它示意一个根本的工作单元,比方发送一个 http 申请。
第四个值:false,示意是否要将该信息输入到 Zipkin 等服务中来收集和展现。
3. 集成与利用
3.1 与 zipkin 整合
提供 web 页面,能够方便快捷的展现申请的残缺生命周期和链式调用,便于疾速定位、剖析、解决问题
3.2 与 ELK 日志收集零碎整合
日志收集零碎,便于进行日志的收集、剖析与计算
官网链接:https://spring.io/projects/sp…