监控体系建设-全链路监控
定义
全链路监控: 从业务视角出发,能直观反映整个业务流程的健康状态,无需切换系统,即可贯穿全局和上下游,能快速发现,定位问题。
实现关键
健康状态评估
通过统一数据模型,和查询接口,完成监控对象数据模型的抽象,
通过对指标的归一化处理,抽象出黄金指标,完成对象对象状态特性的抽象
通过对服务稳定性抽象,如SLA,MTTR等为服务打分,完成对服务,系统的抽象。
链路拓扑生成
人工筛选+自动生成
-
人工筛选
类似黄金指标,可以把影响业务的核心流程通过人工的形式梳理出来,形成黄金流程。关注这个黄金流程上的业务活动, 以及核心这些业务活动关联以来有什么(系统,服务) -
自动生成
从三个维度:
服务 与 资源的关系: 来自CMDB,服务树。辅助确定故障影响面; 服务 与 服务 的关系: 来自中间件埋点 网络拓扑关系: 来自网络流量分析,网络拓扑
异常检测
智能基线预警
专家规则预警
问题及解决方案
跨部门或者跨BU的链路监控问题
业务全链路路监控通过“黄金指标”+“业务维度”来解决这个难题
首先每个部门把直接对外提供服务的核心业务梳理出来,并设定它的“黄金指标”,我们设定这样的黄金指标
为这个部门的SLA指标,其它部门的系统调用这个业务时,就看这些SLA的指标是否正常,而不再关心这个业
务的内部调用细节。
每个部门都定义自己的对外核心业务和SLA指标,形成一种标准化的服务能力评价体系,业务全链路可以把各个部门的业务节点串联起来,组成一个更大的大网,在这个里面每个部门都对外暴露的自己的关键业务,每个关键业务通过“黄金指标”量化服务能力,这样就可以快速定位到底是谁的问题,建立起一个正在的全景式监控
业务全链路的精确的定位
精准定位两类:
鹰眼系统,原理和Dapper类似,主要做系统Trace链路排查
阿里的A3系统: 日志的异常诊断的一个工具,
业务全链路的异常检测
业务活动的监控指标分为三层

- 第一层是这个业务活动的黄金指标,对第一层的指标我们会追求它的准确率,会为每一个指标建立单独的预测模型,然后通过时间序列等算法,尽可能做到对这个指标的准确判断以及报警。
- 第二层是这个业务活动依赖各系统服务的监控指标,对于这一层指标我们采用的准确性与成本和效率均衡的策略,通过一些轻量级波动检测算法来实现异常检测,而且这一层次的检测是由上一层触发,只有在上一层检测发现异常时才触发,不会一直定时执行。
- 第三层是这个业务活动所在应用的监控指标,包括他整个系统调用链路上的各种应用指标,包括系统指标、各类中间件、缓存、数据库等等,这一层的数据量是最大的,我们不会直接用智能算法分析这些指标,而是分析它们产生的各类报警事件和变更事件
异常检测分析流程:
