APP下载

基于异常检测分析的网络故障隐患发现方法

2022-09-08蒋家驹王伊婷纪应天

江苏通信 2022年4期
关键词:性能指标差值成功率

蒋家驹 王伊婷 赵 娟 纪应天 吕 严 孟 浩

1.中国移动紫金(江苏)创新研究院;2.中国移动通信研究院;3.中国移动通信集团江苏有限公司

0 引言

随着5G、NFV业务的逐步扩大,网络逐渐呈现出IT化、切片化、垂直化、定制化的四化特征。由于四化特征的影响,网络专业细化越来越明显,导致原本纯专家经验的运维模式很难继续维系,故障隐患越来越难被发现。针对这一难题,本文提出了一种基于异常值检测的核心网隐患故障发现算法,通过引入设备告警、性能指标、拨测数据、工程信息等网络情况的表征数据,利用KDE(核密度估计)、PYOD(python异常检测算法工具)等机器学习、深度学习算法,对网络设备的表征数据的分布密度函数进行重建,并基于此概率分布密度模型对数据存在的异常概率点进行标注,从而发现网络中的异常点也就是故障隐患点。最后进行多维网络数据的横向比较,从而判断影响网络健康的具体指标,输出健康度画像报告。

1 相关背景和研究

故障隐患发现是现网设备运行维护工作中的重要一环,维护人员通过对现网运行数据进行分析,从而发现网络存在的故障隐患,并将其解决。目前主要的网络故障隐患的发现方法有告警提示法、性能指标法、业务拨测法。其中告警提示法是通过监控设备告警来发现网络故障,但是随着设备的增多,仅靠人力已无法监控全量告警信息,可能会出现漏失故障信息的情况。性能指标法对网络运行中的各类业务KPI指标设置固定阈值,当指标低于阈值时,便会产生相关告警,从而发现故障,但是固定阈值会导致该方法的适应能力较差。业务拨测法会模拟用户使用网络业务,正常情况下,拨测都会顺利完成,当故障发生时,业务拨测会失败,从而发现故障,但业务拨测法发现的故障在网络中已经真实发生,存在一定的滞后性,同时因为拨测需要占用大量卡号资源,使用成本较高。基于现状分析可以发现,研发一种对人力要求低、适应能力强、实时性强的故障隐患发现方法就是运营商迫切需要解决的问题。

近年来,随着人工智能水平的发展,基于大数据的异常检测方法已经逐步完善,Markus等提出了基于直方图的异常值得分方法(Histogram-based Outlier Score,HBOS),通过分析历史的离群点检测异常;Yue Zhao等提出的多个异常检测算法的并行集成框架(Locally Selective Combination in Parallel Outlier Ensembles,LSCP)提供了多异常模型并行处理思路;Breunig等提出了局部离群因子检测方法(Local Outlier Factor,LOF),通过分析样本点的邻域密度检测异常;Kriegel等提出了基于角度的离群点检测方法(Angle-based outlier detection,ABOD),通过计算每个样本与所有其他样本对所形成的夹角的方差检测异常。通过这些异常检测算法可以发现与大部分样本不同的对象,也就是数据的离群点。对于网络的运行指标而言,通过异常检测发现的离群点就可能是网络的运行异常状态表征。

2 基于异常检测的网络隐患发现方法

前文所述的,通过异常检测方法可以发现网络指标的离群点,也就是网络的异常状态。目前网络状态表征数据主要有告警数据、性能数据、拨测数据、工程割接数据等。

告警数据波动是网络状态出现异常时最为直观的体现,其中告警量size,为当前5分钟时间切片内的告警量;1天环比告警量差值diff1day为当前时刻与昨日同时刻告警量的差值大小,计算公式diff1day=sizetoday-sizeyesterday;1周环比告警量差值diff7day为当前时刻与上周同时刻告警量的差值,计算公式diff7day=sizetoday-sizelastweek;同池组告警量差值pool_diff为当前时刻下,本设备与本设备所属的池组下其他设备的告警量差值,计算公式pool_diff=sizetoday-1/nΣpoolsize。对告警量、1天环比告警量差值、1周环比告警量差值、同池组告警量差值进行异常检测可以捕捉设备自身或池组内部的告警异常波动情况。

性能数据是网络设备运行稳定性的体现指标,根据网络设备的不同分类,如表1所示,又可将性能指标分为信令面指标和用户面指标两类,对这两类性能指标进行异常检测可以发现网络中出现波动的不稳定点。

表1 模型输入性能数据表

将告警数据、性能数据以及拨测数据和工程割接数据带入异常检测模型进行计算,模型选择python的异常检测工具PYOD库,选取的算法包含以下12种异常检测算法,如表2所示,并按图1流程进行模型分析,最终输出数据是否异常的判定结果。

图1 PYOD异常检测流程图

表2 PYOD库引入算法表

网络运行数据经过异常检测模型会输出当前时刻是否为异常的判断,但此时并不确定哪个数据维度才是引起设备异常的主因,所以还需要进行主要异常维度判断。在输入核密度估计模型进行主因确认前,需要对多维数据进行预处理:

(1)对于信令面性能指标“TAU成功率”、“附着成功率”、“业务请求成功率”、“X2切换成功率”、“寻呼成功率”,用户面性能指标“HTTP会话响应成功率大于500KB”,采用公式1进行预处理计算:

其中p为原始值,p'为预处理后后续模型的输入值。

(2)对于上述经过公式1计算的信令面指标以及用户面性能指标“HTTP会话平均响应时延大于500KB(ms)”、“HTTP下载速率大于500KB(Kbps)”、“HTTP500下行流量(MB)”,采用公式2来进行归一化处理:

其中x为原始值,xmin为7日内该维度的最小值,xmax为7日内的最大值,x'为预处理后后续模型的输入值。

(3)对于告警类数据“size”、“diff1day”、“diff7day”、“pool_diff”,首先进行归一化处理:

其中a为原始值,amin为7日内该维度的最小值,amax为7日内的最大值,a'为归一化值。

考虑到size的业务含义即网元告警量满足泊松分布,开方处理使这些指标转变为高斯分布,并保留符号:

其中a'为公式3得出的归一化值,a''为高斯变换后的值。

将预处理后的数据输入核密度KDE模型进行密度拟合,输入数据的时间长度为近7日,总计7*12*24=2016个输入数据。由于数据已经转变为高斯分布,选择高斯核的核密度函数继续计算:

其中K(x)为核密度函数,这里使用了高斯核密度函数。x为输入数据。h为带宽(bandwidth),是模型训练的另一个参数,这里使用公式6进行确定:

其中R(k),m2(k)满足:

n为输入数据数,即2016。

至此可利用公式5进行核密度估计,计算得到输入数据的change degree,也就是在核密度中的概率,流程如图2所示。

图2 核密度估计变化率计算流程图

由于核密度估计为纯数据分析,在结果输出时还需结合固化经验对其进行修正,以增加结果准确性。

(1)对于信令面性能指标“TAU成功率”、“附着成功率”、“业务请求成功率”、“X2切换成功率”、“寻呼成功率”,用户面性能指标“HTTP会话响应成功率大于500KB”、“HTTP下载速率大于500KB(Kbps)”,这7个指标出现原始值大于历史7天均值时,change degree置为0。

(2)对于用户面性能指标“HTTP会话平均响应时延大于500KB(ms)”,当指标原始值小于历史7天均值时,将对应change degree置为0。

(3)对于用户面性能指标“HTTP500下行流量(MB)”,设fnow为今日流量,fyesterday为昨日同时间流量,则当满足时,change degree置为0。

经过修正后,比较各数据维度的change degree,其中值最大的维度是引起异常的主要因素,也就是主要的故障隐患点。

3 方案实现与结果验证

如前所述,将网络运行数据通过PYOD的异常检测算法和核密度估计算法,可以输出网络运行数据中是否存在异常点,以及引起异常的主要因素。按图1、图2流程进行算法部署。

采用现网数据输入模型进行实验,告警数据按5分钟粒度进行切片,性能数据按5分钟粒度文件入库,数据集一天总计共12*24=288个。模型异常检测输出结果如图3所示。

图3 异常点检测结果

抽取了LTE核心网3个网元进行结果验证:

MME1:总共1533个结果,判断为异常的点数为12,判定正确的异常数为8,即TP=8,判定错误的异常为4,即FP=4,不存在未定位出的异常,即FN=0,TN=1533-12=1521。可 算 出 准 确 率ACC=(8+1521)/(8+4+1521)=99.74%,精准率P=8/12=66.7%,召回率R=8/(8+0)=100%,F1=2*66.7%*100%/(66.7%+100%)=80%。

MME2:总共1439个结果,判定为异常的点数为43,TP=19,FP=24,FN=0,TN=1439-43=1396,ACC=(19+1396)/(19+24+1396)=98.33%,P=19/(19+24)=44.19%,R=19/(19+0)=100%,F1=2*44.19%*100%/(44.19%+100%)=61.29%。

SAEGW3:总共1249个结果,判定为异常的点数为1,TP=1,FP=0,FN=0,TN=1248,ACC=(1+1248)/(1+1248)=100%,P=1/(1+0)=100%.R=1/(1+0)=100%,F1=2*100%*100%/(100%+100%)=100%。

综上平均准确率ACC=(99.74%+98.33%+100%)/3=99.36%。

精准率P=(66.7%+44.19%+100%)/3=70.3%。

召回率R=(100%+100%+100%)/3=100%。

F1=(80%+61.29%+100%)= 80.43%。

从实验结果可以看出,在LTE核心网元的异常检测中算法的平均准确率达到了99.36%,F1值达到了80.43%,取得了不错的效果。

此外基于实验结果,将本文所提出的异常检测法与目前现行的几种方法进行分析判断时间对比,如表3所示,可以看到异常检测法在目前三类主要的故障类型中均优于其他三种方法,具备较强的应用场景适应能力。这也体现了本方法在现网运维中具有较高的使用价值。

表3 各类方法故障判断时间对比表

4 结束语

随着网络技术的演进,网络监控维护工作也变得日益复杂。本文就网络隐患故障的发现方法进行探讨,提出了一种基于异常检测分析的网络隐患故障发现方法。从本文的实验结果可以发现,这一算法相较于现行的方法而言,具有更广的应用场景和较高的准确性,已经具备现网的使用价值,为提高网络维护效率,降低网络故障风险带来了新的思路。

猜你喜欢

性能指标差值成功率
成功率100%,一颗玻璃珠入水,瓶子终于坐不住了!
成功率超70%!一张冬棚赚40万~50万元,罗氏沼虾今年将有多火?
数字日照计和暗筒式日照计资料对比分析
红细胞压积与白蛋白差值在继发性腹腔感染患者病程中的变化
如何提高试管婴儿成功率
关注
自动控制系统的优劣评价分析
基于Ganglia和Nagios的云计算平台智能监控系统
研究发现:面试排第四,成功率最高等4则