一、服务监控与Spring Cloud Sleuth
1、服务监控的基本原理
在微服务中,需要多个服务协同才能完成一个接口的功能,如果一个链路上的服务出现了问题,会导致接口调用失败。
分布式服务跟踪TraceId和SpanId
TraceId急跟踪Id,在微服务框架中,每个请求可生成一个全局的唯一Id,可串联起来整个调用链。
SpanId:跨度Id,当请求到达各个微服务组件时,通过SpanId来标识他的开始、执行过程和结束。
2、引入Spring Cloud Sleuth
实现链路服务追踪,需要实现以下需求:
1.服务调用链数据生成:对整个调用过程所有应用进行埋点并输出事件。
2.调用链数据集:对应用中的事件数据进行采集
3.调用链数据运运算:对采集的数据进行存储,并且还要提供快速的查询
4.调用链数据运算:采集的数据进行指标运算,并将运算结果保存起来。
5.调用链路管理:提供各种排序、阀值、警告灯功能
3、初始化Spring Cloud sleuth 运行环境
服务调用链路的构建
通过将Spring Cloud Seluth添加到系统的类路径,系统会自动建立日志收集渠道。
服务监控数据的存储和梳理
在微服务中引入:spring -cloud-starter-seluth
二、整合Spring Cloud Sleuth 与 Zipkin
ELK日志集合:提供收集、存储、检索功能。
1、Zipkin基本结构
2、引入Zipkin
引入zipkin-autoconfigure-ui 并通过@EnableZipkinServer注解来构建类。
1.集成Zipkin服务器