【AIOps探索】企业如何告别“人工运维”,借助算法进行告警关联挖掘分析?

背景

近年来互联网技术高速发展,接入监控告警的设备和业务也越来越多,不断增新的设备和业务使得告警的量级也逐级递加。各种软硬件模块每天会产生大量的告警信息,这些告警中有表象告警,有冗余告警,也有根因告警。每次故障出现都会引发一系列错综叠加的告警,从而将根因告警淹没在里面,导致故障识别异常困难。一般告警分析主要是靠运维人员进行处理,当告警出现时,常常要求运维人员必须在最短的时间内,正确地判断出告警中存在的关联性,然后根据自己的经验采取相应的措施。

然而面对海量告警,靠人工从大量告警中找到故障原因,分析告警属于哪类事件等慢慢变得不太现实,为了将告警从散落的状态关联起来,目前有以下两种做法:

传统的规则关联:

以网络的告警关联为例,一般是通过网管专家梳理告警关联规则后,再对一系列告警进行关联规则匹配。但这种做法由于网络的复杂性,设备变化的高频性和网元连接经常变化等特点,人工经验建立的关联关系存在规则覆盖不全,不能适应网络变化等问题。

基于AIOps的告警关联:

通过算法能够从大量的、低价值密度、有噪声的数据中提取出有价值的告警关联信息,动态的获取事件的关联关系,辅助运维人员决策。


基于FP-growth的告警关联分析


什么是告警关联分析?

基于上面的叙述,我们知道,告警关联分析就是对一次故障中产生的一系列告警进行压缩和根因识别的手段。它主要目的有两个,一个是告警的压缩,一个是根因告警的定位。


为什么要做告警关系分析?

通过告警关系分析,我们可以对故障根因进行准确定位,提升故障处理效率,并对冗余告警进行压缩,减少故障工单派发量,从而减轻运维人员的故障处理负担,简单来说,就是提效降本。


告警和故障的关系?

在进行关联分析之前,有两个概念在这里需要区分一下:故障告警。它们是运维场景中两个不同的概念。故障是网络运行中的异常状态,故障都需要维护人员进行及时处理。告警是网络设备发生特定事件后的事件通报,告警只是表明可能有故障发生,但并不是一定有故障发生。故障发生后会引发一系列的告警。一个故障还可能引发其他故障,从而引起告警风暴的出现。而一般告警可以分为以下几类:

表象告警:故障造成的结果告警,往往看不出根源,需要运维人员进行进一步分析。

冗余告警:同一告警在某一时间段内的重复告警,或者一些不重要的周期性告警。

根因告警:往往是造成故障的原因的告警。

波动告警:因指标波动造成的一类告警,通常不涉及到故障的发生。


如何去做基于机器学习的告警关联分析?

一般的做法(如下图):

针对告警事件的特点对历史告警数据进行预处理,生成告警事务数据;

然后选择合适的告警关联分析算法,对告警事务数据进行训练,通过对模型的参数调优,生成告警关联规则并得到关联则库;

在推理阶段,将需要推理的告警通过预处理后与关联规则库中告警关联规则进行匹配,确定根因告警。


具体步骤


数据预处理:

常规处理:

提取对告警关联分析有重要作用的关键字段;

剔除部分次要级别的告警以及同一时间段重复类型的告警;

去除告警时间明显异常的告警。

告警事件提取:

告警事件,即每次故障事件所产生的一系列告警的集合,这是算法输入的必要形式,一般采取滑动时间窗的形式生成告警事件,滑动时间窗步长的取值可以根据告警的实际情况按告警事件的时间分布,取90分位数。告警事件的质量和数量与滑动窗口宽度和步长的设置息息相关,而告警事件作为算法的输入则对算法的效果起到重要的作用。如下图示例:ABCDE为告警数据,滑动窗口宽度为12,步长为7 ,通过3个滑动窗口分别得到了 3个告警事件[T1,T2,T3]。

告警权重评估:

一般而言,重要的告警发生的频率较低,而不重要的告警发生频率很高。因此在进行告警关联分析时不能将告警看作平等的对象,需要对重要性不同的告警设置不同的权重,这里按照告警级别、告警节点重要程度对告警进行加权求和。当然该方法具有较强的主观性,需要结合人工经验去设定。

告警拓扑分布:

在进行告警事务提取时不仅需要考虑时间的因素,还需要考虑空间或者网络拓扑的限制条件,比如根据地域或者子网范围等,同一地域/范围内的告警才可能是一类告警事件。进行此类过滤可以使后续的关联分析结果更加准确,但同时也会增加算法的复杂度。


告警关系挖掘:

本文采用的是主流的无序关联分析算法:FP-Growth,该算法的作用是找到项集数据中的频繁项,并生成关联规则,较于Apriori算法具有更高的效率。项集就是同时出现的一组项目的集合,在告警关联分析中,一个告警事件就可以看作是一个项集,项集的频率就是支持度,项集A的支持度与项集B的支持度的比值叫做置信度,它定义了关联规则的可靠程度。提升度能够反映关联规则的相关性程度,提升度大于1表示正相关,越大表示正相关性程度越高,提升度小于1表示负相关,越小负相关度程度越高,提升度等于1表示不相关。

支持度:(X→Y) = P(X,Y) / P(I) = P(X∪Y) / P(I) = num(XUY) / num(I)

置信度:(X→Y) = P(Y|X)  = P(X,Y) / P(X) = P(XUY) / P(X)

提升度:(X→Y) = P(Y|X) / P(Y)

离线挖掘关联关系:

当我们将历史告警事件输入算法后,按照这三个指标进行关联关系的过滤,最终形成一个强相关的图。再通过社区发现算法(如Louvain、LPA、Infomap等)将关联图划分为不同社区。

在线推断压缩告警:

我们同样将待推断的告警生成告警事件,通过PR方法来计算各个告警的得分,推断出此告警事件的根因告警。通过遍历与每个社区告警事件的相似度,将此类告警划入社区,实现告警压缩。

补充

对于关联规则的生成需要对大量的历史告警进行预处理和算法生成的步骤,这通常会花费不少时间,影响实际使用时对算法实时性的要求,通过蓝鲸计算平台的大数据分布式处理方法,我们可以快速处理海量告警数据,满足实际应用的实时需求,快速生成最新最全的关联规则。

对于设备变化没有那么频繁,或者每次设备变化都能及时更新到CMDB中的运维系统而言,可以省略离线的关联挖掘,直接使用最新的设备关联拓扑进行在线的告警压缩和根因推断,同样也可以取得不错的效果。蓝鲸统一告警中心实现了对接CMDB设备拓扑的关联分析,告警可以在通过设备的拓扑图进行查看,辅助运维人员快速找到根因告警。


总结

告警来源的设备十分复杂,每天都可能产生大量的告警,其中有根源告警也有表象告警。通过基于AIOps的告警关联分析对告警进行关系挖掘,可以帮助运维人员对告警进行压缩并快速定位根因,对于故障的排查和管理具有十分重要的意义。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容