告警风暴的处理

原文名称:Understanding and Handing Alert Storm for Online Service Systems

通常当应用服务出现故障时,会伴随大量告警,告警风暴便产生了。因告警风暴的数量非常大,如果运维工程师手工检查每一条告警,系统排障过程会耗费大量的时间和精力。

需要回答如下问题:

“告警风暴中到底发生了什么故障”

“哪些告警与故障相关”

“告警风暴的核心内容是什么”

目前现状:

一,告警风暴出现的频率很高;

二,当前对告警风暴的识别方法是人工设置固定阈值,无法适应动态的在线场景;

三,告警风暴中包含有的常规告警,与故障相关的告警也存在关联,如文本和拓扑相关性。

需处理的问题:固定阈值的告警风暴检测表现不好,混杂在故障中的不相关告警影响排障,需要做告警降噪,告警之间复杂的关联关系也需要建模来精炼。

警风暴检测:需要知道什么时间发生了告警风暴。监控告警的数量,将告警风暴检测转化为一个突变点检测,使用EVT去自适应准确检测告警风暴。

告警风暴摘要:准确检测到告警风暴发生后,需要做三个步骤:基于学习的告警降噪,将告警风暴中与此次故障无关的告警全部删除;差异化的告警聚类,总结告警里有多少告警簇;代表性告警选择,在每一个簇找到代表性的告警选择,减少工程师看的数量。

最终通过告警风暴摘要,选取出与故障相关的告警集合,并且这些告警能够从多方面反映故障。

告警风暴摘要的三个步骤:

步骤一:基于机器学习的告警降噪,可将其转为异常检测的问题,因为故障不常发生,经常发生的告警和这次故障没有关系。经常发生的告警像异常检测里定义的日常情况,而不经常发生的罕见告警有像异常情况。使用isolation forest方式检测到的罕见告警,更有可能和故障相关,在这过程中对告警进行属性提取和特征统计。

步骤二:经过告警降噪过滤后,剩下的告警做告警聚类,使用DBSCAN聚类方法。对聚类的度量,也就是相似性度量,因考虑了文本相似性和拓扑相关性,所以使用Jaccard距离;拓扑相关性定义了软件层面和硬件部署层面两种拓扑,使用它们相连的最短路径去刻画拓扑相关性。

步骤三:有了告警相关性,使用聚类方法得到告警的类,每一类均代表对故障的描述,选择一个聚类中心来作为代表性的告警。

告警风暴的处理_第1张图片

 

你可能感兴趣的:(AIOps,机器学习)