浅析核心网运维如何引入AI

发布时间:2020-07-15 作者:中兴通讯 赵理洋

         2016年,Gartner提出了AIOps(Artificial Intelligence for IT Operations),基于算法的IT运维。到了2017年,Gartner将这一概念修正为“Artificial Intelligence Operations”,即目前被广泛接受的智能运维。智能运维指利用大数据分析、机器学习等人工智能技术来实现运维管理自动化。

        本文介绍核心网运维所处阶段、两个智能运维场景及相关解决方案。

运维发展的三阶段

        传统物理网元的运维,包含软硬件部署、数据配置、日志管理和分析、监控和告警,以及日常的故障排查和优化等一整套流程。随着云化、虚拟化的逐步落实,运维工作扩展到容量管理、弹性(自动化)缩扩容,以及系统复杂度提高(因引入容器、开源框架)导致的额外的故障分析和定位等。

        核心网的运维工作经历了人工阶段、工具和自动化阶段,正全面走向智能运维阶段。

        在工具和自动化阶段,为了简化操作流程,核心网将重复性的工作编写成脚本自动执行。例如AIC工具可以完成虚层、VNF、网管、MANO的一键安装、部署、测试,CCNGuard工具可以完成关键信息的一键采集、对比、集中可视化、设备容灾。

        智能运维阶段,核心网将利用数据和算法进一步提高运维的自动化和效率,比如将其用于告警收敛和合并、智能故障检测、动态阈值、根因分析、容量评估、自动缩扩容。其中最紧迫的是异常检测、故障定位方面的需求。

智能运维场景一:异常检测

        核心网提供的网络要满足7×24小时不间断运行,因此,对这些设备进行持续监控至关重要。从数据分析的角度来看,这意味着不间断地监视大量的时间序列数据(如PS的流量、在线用户数),以便检测潜在的故障或异常现象。

异常值,是指在某一时间序列上观测值与期望值不同。时序数据具有周期性、非线性,并受到节假日的影响。某一时间序列上的期望值需要使用时间序列算法进行预测。

        异常检测方法可以归纳为三类:基于统计模型、基于邻近度、基于密度。

        其中,基于统计模型的异常点检测方法简单实用。可以认为,网络设备产生的数据是符合正态分布的,异常概率很低。

        选择了异常点检测方法后,还需要寻找一种时间序列预测算法预测期望值。

        时间序列模型是通过历史规律预测未来,即我们希望挖掘出的历史数据的一些性质将来保持不变,这样对模型的预测才有意义。但实践中,模型不可能完全平稳,所以需要分析导致非平稳的原因。如果原因是确定的,则可以使用的方法包括季节调整模型、移动平均法、指数平滑法(例如Holt-Winters)等。若导致非平稳的原因是随机的,则方法主要有ARIMA模型、自回归条件异方差ARCH、长短期记忆网络(LSTM)等。

核心网数据非平稳的原因主要是受季节、节假日的影响,可以使用指数平滑法,同时需要考虑如何排除季节和节假日影响。Facebook 2017年提出Prophet模型,允许分析师自定义事件和跳变点,支持季节和节假日,使其较Holt-Winters更为简洁实用。

结合3σ异常检测和prophet方法,即可构建一个智能的检测系统,如图1。

 

智能运维场景二:故障定位

        传统的故障定位手段主要是告警、性能KPI、CHR失败码分析等。尤其是CHR,对其中的关键字、失败码进行统计和汇总,这样能直观地反映故障的线索。

        然而,当系统规模比较大时,会出现如下3个问题:第一,日志很难全部收集(受限于网络带宽、存储); 第二,需要大量人工参与,效率非常低;第三,非常依赖于人的经验,这些经验是隐含的,很难被总结成基于显示规则的专家系统。而人工智能就是通过算法和不断学习,实现隐含规则的自动学习以及更高知识粒度的学习推理。

        使用AI做根因定位,有很多做法,本文简要介绍下如何在CHR中寻找异常。

        核心网的CHR是一种规范的资源,包含了各种维度对应的指标值,维度包含时间、物理位置/ 逻辑位置(虚机ID/模块)、业务维度(如appid、protocol ID等)、邻接信息(如链路、局向)、终端信息(MSISDN/IMEI/IMSI)、目的信息(如目标IP、被叫号码)等。

实际工作中,发生异常后,人工分别查看某一维度的指标,如成功率,找出成功率低并且总量大的维度条件。选定最可疑的维度条件再重复分析过程。直到遍历完所有维度,找出成功率下降的维度组合。

        挑选算法去模拟这个过程,一种实用的方法是使用维度属性发生指标劣化的不均衡性来进行根因定位,可以使用自然语言处理中的IDF(逆文档频率)的概念来表征指标劣化的不均衡。例如,处理控制面失败CHR,每个维度都可以计算该维度上出现异常的属性个数,然后依次计算IDF值,确定主要根因。

        智能运维是用算法代替日常维护工作。确定问题领域、发现数据特征,通过训练去拟合出最合适的数学模型才是关键。数学模型和框架的选择要本着实用性原则。