随着分布式技术的快速发展及广泛应用,系统之间的调用不断增多,各服务之间的依赖错综复杂,现实场景中也经常出现一次交易中包含十余次系统间服务调用的情况。当交易发生异常时,多个系统的运维人员往往同时排查各自的系统,然后汇总分析结果,按照调用顺序分析,最终确定异常系统。
然而,这样的常规操作在面对海量交易的时候,复杂性将指数级上升。在大规模的分布式架构下,依赖传统的运维方式无法实现快速的根因定位。因此微众设计了一种自动化、智能化的根因定位方法。本文中将介绍在异常时,告警风暴发生后,如何进行根因告警分析。根因告警分析主要包括原始证据收集、证据分类分析、证据强度分析、构建分析图谱、根因告警推理这五个步骤。
本文收录在专题《智能时代下的运维》系列 。
原始证据收集
收集原始证据是根因告警分析的第一步。异常事件发生时,系统立即启动证据收集任务,从告警列表中搜集异常开始前一段时间内(当前为5分钟)的记录,以保证告警与异常有充分的时间相关性。此外,为了降低告警噪音,我们只选取较严重的minor级别及以上(告警级别由低到高分别为info、warning、minor、major、critical)的告警作为原始证据。除告警外,通常还会有其他数据源中的数据作为告警的补充,目前主要是一些变更操作记录。原始告警经常会将关键信息展示在告警描述或告警标题中,便于运维人员阅读,但对于系统来说,结构化数据显然更适合分析。具体的证据收集流程如下图:
原文链接:【https://www.infoq.cn/article/m78zwQL2Nc4sdpapCXpg】。未经作者许可,禁止转载。