查看原文
其他

网络云根因智荐的探索与实践

贾斯特-K 贾斯特干IT 2022-05-12

 一起来探索AIOps的奥秘

 To explore AIOps  


背景与痛点

NFV将云计算技术引入到电信网络中来,推动电信网络IT化、设备软件化、硬件标准化变革,形成以“功能软件化”、“业务统一编排”和“硬件云资源池”为主要特征的网络云化体系,大幅提升网络的灵活性,助力新业务的开发和部署,提升网络的管理和运营效率。也正因此,云化虚拟化网络颠覆了过去电信设备一种功能一种设备形态的传统维护模式,需要电信运营商的运维系统基于业务负载的实时动态智能资源配置调整,快速定位修复网络故障。这对于过去给予专家经验的运维方式提出了诸多新的挑战。

告警风暴:网络云化后分布式架构大幅度增加了设备的规模和关联复杂度,一旦某设备出现故障,周边相关设备会在短时间内探测到异常并上报大量告警,严重影响维护人员对于故障事件分析判断;

根因定位难:当前NFV网络技术栈多,且厂家异构,同故障场景在不同资源池的具体现象略有差异,仅依靠人脑分析或专家经验来定位模式,已经很难满足要求,即使通过专家经验梳理故障树的办法,也存在覆盖面小维护困难的问题;

单纯依靠数据驱动算法依然存在局限:当前AIOps算法场景主要聚焦异常发现,故障定位方向面临严重的端到端标注数据缺失,急需解决算法冷启动的问题。


针对上述痛点、难点,我们也开始“培养”NFV维护智能“新员工”——“图灵灵”,并给这位新员工制定了“工作目标”:故障智能快速收敛,根因自动诊断,场景快速服务上线。

探索与实践

我们结合运维人员故障感知、故障信息搜集、故障根因分析、故障恢复与复盘的工作模式,来设计“图灵灵”的技术方案。通过拓扑分析+关联项挖掘算法,实现告警风暴数据的汇聚压缩,通过图计算算法实现故障根因定位排序;用推理状态的故障知识库+攻防演练解决算法冷启动问题。

00

数据准备

在故障管理解决方案中,夯实数据平台基础推动故障是自动化运维的第一步。传统运维方式下,运维人员主要通过设立静态阈值来监控重要指标异常波动或告警数量突增。而静态阈值是难以设定、难以覆盖现网动态变化的。因此我们通过对告警频次密度突变检测(Autoencoder)实现了故障自动发现。告警频次密度突变不依赖人工规则,根据告警流自身数据分布情况的变化,完成自适应故障感知。

除了感知算法外,我们也进行了其它工作以提高故障感知准确率:

■建立噪声告警识别机制,通过无用告警过滤、告警周期收敛、告警重要性评估等手段,降低干扰

■通过对日志和性能数据的异常检测补足告警,扩大故障感知覆盖面,更及时全面地发现异常。


01

告警压缩,故障事件汇聚

故障感知代替运维人员自动发现故障发生,但收集的告警数据可能来自多个不同的故障。为了简化根因定位,需要识别出每个单独的故障,形成尽量“单纯”的故障数据集合。根据不同故障特征差异性,我们提出并实现了基于故障关联特征挖掘+聚类算法的故障识别方案。


常见用于告警“分堆”的特征有时间和空间:

时间特征:相近时间发生的告警更有可能是一个故障的告警,或通过历史数据挖掘相同告警产生的高频时间和不同告警同时发生的关联时间,提取时间相似度。

空间特征:拓扑关联(物理或逻辑上相关)的设备上发生的告警,更有可能同属于一个故障,可利用系统拓扑图计算告警空间相似度;


除此之外,告警本身还有一些其他的有用信息可以作为特征加以利用:

告警信息:告警标题,辅助信息等告警中明确的信息,可用于衡量告警语义环境、上下文关系以及影响范围。我们从中提取有效信息,如对端设备,建立告警特征。

告警伴生关系:利用Eclat从告警数据中挖掘出告警的主次和两两伴生关系,通过置信度来区分不同关系在分析中的权重,并量化两两距离应用于在线认知与分析。


02

故障根因定位与模型算法冷启动问题解决

在相对“单纯”的故障数据合集中找到根因设备,我们主要做了两个方向的尝试:

■通过告警的主次告警关联关系以及置信度,生成故障传播图,基于图计算生成树算法(Prim和Kruskal)对告警置信度进行排序,从而确定根因设备。

■利用故障传播性和衍生性,基于决策树构建故障传播模型。即利用设备之间的拓扑关联性对故障设备进行划分,观察划分结果是否使得相同集合中的设备都具有相同状态。通过不断假设与验证,分析出更有可能的根因设备。

两种方式有利有弊,在目前历史告警相对不够全面的情况下,单纯靠数据挖掘获得的主次关系,因为量较少且与实际情况存在偏差可能性更大,效果略差一些。但通过故障演练和不断地运营优化,甚至对确定规则的人为补充,会逐渐拉平差距。


03

故障恢复与故障复盘

经过上述三个自动化步骤后,故障及其相关表征已经被提炼。利用这些信息,可以进一步做场景化匹配,并结合场景预置的恢复建议或手段,执行故障修复应急方案。


故障复盘在每次故障发生后进行相关总结,从算法优化、监控手段、知识回收等方面补足工具能力,逐步催熟工具的智能化和自动化。

运营优化何时是个头?

当前我们的主要运营方式,是结合我们的目标“故障快速收敛,根因自动诊断”,基于GERI复盘模型建立运营指标:

■故障认知查全率:系统推荐的故障是否全覆盖实际发生的故障;

■故障认知准确率:推送的故障中聚类的告警是否都完全正确;

■根因推荐准确率:推送的故障中,根因定位是否正确。

当前"图灵灵"的故障认知查全率98%,故障认知准确率71%,根因准确率70%,通过对这几个指标进行全面的分析,分析出影响运营指标的主要问题并进行逐个突破,从而对数据和算法不断调整。


在整个探索的过程中,我们会发现运营与优化是一个螺旋式上升的过程,运营加深了团队对场景理解,从而对数据、系统或者算法提出新的优化;同时每一种算法也有各自的天花板,在不断的解决数据和系统的过程中逐渐解决算法的天花板中,又可以通过运营发现算法无法解决的场景,驱动团队找到新的方法(算法)来突破。因此,尽快让“不完美”的系统与实际生产流程结合,哪怕只是体现出一个小点的价值,也能让团队更好的从结果出发,思考系统的优化方向。


—— E N D ——

 

贾斯特干IT

ID : Jiasitedoit

与您分享IT运维的生活点滴

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存