
背景
AIOps,即 Artificial Intelligence for IT Operations,智能运维。随着智能化时代的快速发展,企业内服务系统的数量不断增加,系统之间的关系也越来越复杂。如图,在传统运维方式中,运维工程师难以快速准确地对海量告警做出正确判断,导致服务停滞,并造成不可逆的损失。在AIOps智能运维下,智能化的判断告警故障定位非常值得深入探索。

▲ 传统运维和智能运维差异
下面对告警的常见问题做简单概括:
告警是什么?
为什么需要告警规约和故障定位?
如何做到告警规约和故障定位?
分析方案

▲ 关联规则挖掘及定位流程示意
1
离线学习
历史告警
获取各监控设备上的历史告警数据,主要包含有时间、设备型号、告警标题、告警对象等有效属性。
规范化
对获取到的原始告警数据进行规范化处理如清除脏数据、分词等;对不同的告警事件进行编码,如将“XXX的CPU发生告警,CPU使用率达到90%”设为A1。
告警分段
将告警事件进行划分处理,把告警事件划分至一个时间窗口内;由于告警事件发生的告警关键内容具有较大相似性,需要在时间分段基础上计算本文相似度,对场景进行分段。
关联挖掘
采用告警上下文关联和告警内容关联两者结合挖掘告警事件的关联关系,此挖掘步骤可获得告警事件两两之间的拓扑关系。
社区划分
社区划分的算法有很多,常见的有LPA、Louvain、Infomap等算法。在告警场景中,相比其他两种算法, Louvain算法能更有效地对告警事件分组划分。
2
在线分析
数据处理
在线分析过程中,数据处理与离线学习一致,都是将实时告警数据进行规范化、按告警发生时间和告警内容分段等。
社区匹配
将处理后的告警事件与离线学习的结果进行社区匹配,若匹配成功,则将该告警事件划分至该社区内;若匹配失败,则将该告警事件与经过离线学习后的告警事件进行文本相似度计算,取文本相似度最大的告警所在的社区作为该告警事件的社区。
故障定位
对所有强关联的告警社区进行故障定位,本文根据告警事件的业务情况采用改进的PageRank算法故障定位。
结果反馈
运维工程师可获取经算法推荐的告警根因,对每次实时发生的告警事件,获取其根本原因。
模拟分析实验

▲ 嘉为蓝鲸统一告警中心分析示例
总体数据量约为20w,总告警数有148,独立告警数25,有效告警数123,有效告警被划分成13个小组,每小组内包含一个告警根因。
告警压缩率约为91.2%。
告警丢失率约为16.9%。
每秒可实时推断约1000条告警事件的根因故障。
总结

感谢您的阅读
如果您的企业有相关研运需求
请点击阅读原文或扫描二维码
留下您的需求
我们将安排对应区域的同事向
您详细介绍
▼长按识别▼


Reading



在看一下,让更多人同享好文哟!






