收稿日期:基金项目:作者简介:李师谦(1979-),男(汉族),山东济南人,工程师,硕士,主要研究方向为计算机网络管理、154340580@qq.com;王杰琼(1982-),女,博士,讲师,主要研究方向为数据挖掘一种基于神经网络的网络设备故障预测系统李师谦1王杰琼2胡彬1邓晶11.中国人民解放军72671部队,济南2500222.山东省中医药大学药学院,济南250355摘要:引入基于状态的维修技术,构建了基于多状态在网运行设备故障预测模型。该模型根据故障的严重性将预警等级划分为四层,对于不同的预警级别,分别构建神经网络,解决了设备故障预测精度不高的难题,提升了基于多状态的故障预测能力。关键词:神经网络;多状态;网络设备;故障预测文章编号:文献标志码:A中图分类号:T393NeuralNetworkFaultPredictionSysteminNetworkEquipmentLiShiqian1WangJieqiong2HuBin1DengJing1WangLei1(1.ChinesePeople'sLiberationArmyof72671troops,Jinan,250022,China;2.SchoolofmedicineofShandongUniversityofTraditionalChineseMedicine,Jinan,250355,China;)Abstract:Introducedthemaintenancebasedoncondition,Constructednetworkequipmentfaultpredictionbasedonthemulti-statemodel.Thewarninglevelisdividedintofourlayersaccordingtotheseriousnessofthefault,fordifferentwarninglevels,neuralnetworkareconstructed,andsolvesthequestionthatequipmentfaultpredictionaccuracyisnothigh,enhancedtheabilityofmulti-statefaultprediction.Keywords:neuralnetwork;multi-state;networkequipment;faultprediction为了克服传统维修方式的不足,随着状态监测和故障诊断技术的不断进步,上个世纪末逐渐发展起来一种新的维修方式——基于状态的维修(CBM)。该维修方式综合运用各种技术手段获取设备的运行状态信息,并运用数据分析与维修决策技术对设备状态进行实时或者周期性的评价,最终做出科学化的维修决策。实现了通过状态监测预测即将发生的故障,制订合理的维修决策。1基于状态的维修基于状态的维修过程示意图如下图1所示。图1基于状态维修示意图基于状态的维修主要根据获得的设备状态信息预测设备(或部件)的剩余寿命,以一定的优化准则为目标对设备做出维修决策,即判断设备是否需要进行预防性维修,若需要,何时进行维修最合适。这种维修方式的维修间隔期是不固定的,其最大的特点是根据每个设备具体的状态,在设备故障发生前进行维修。因此,基于状态的维修能克服传统维修方式的不足,实现精确维修。对于设备,基于状态的维修可以降低维修保障费用、提高设备完好率和任务成功率[1];通过减少备件、保障设备、维修人力等保障资源需求,降低维修保障费用[2];通过减少维修,特别是计划外维修次数,缩短维修时间,提高战备完好率;通过状态监测,减少任务过程中故障引起的风险,提高任务成功率。2故障预测的前提条件对于一些故障,其性能劣化是一个逐渐劣化的过程,即存在“潜在故障—功能故障”间隔,这个过程也就是P-F间隔期,如图2所示。“P”点是潜在故障点,是能够发现故障的点,在此之前,故障是没有任何征兆的,当经历“P”点之后,如果还不采取维修措施,它通常会以较快的速度退化到功能故障点“F”,即设备已不可用。“P—F间隔期”的存在是复杂设备开展CBM的前提条件,即CBM仅适用于存在“P—F间隔期”的故障。网络在网运行设备的性能也是一个逐渐劣化的过程,在经过一个时间点(潜在故障点“P”)后会产生告警信息和日志信息,性能开始劣化,如不及时进行维修,很快会导致设备故障(功能故障点“F”),因此,通过建立故障预测标准准确判断设备的“P”点,跟进设备的运行态势,在“F”点之前进行预防性的维修是很有必要的。图2P-F间隔期3基于状态的故障预测模型基于状态的故障预测模型分为设备的状态信息、提取故障特征、故障分级和故障预测四个模块,如图3所示。其中设备的状态信息为后续模块提供了基本信息,通过对其分析提取出与设备运行状态紧密相关的故障特征,故障分级根据故障的严重性划分为蓝、黄、橙、红四个级别,这样,通过判断设备运行状态处于何种级别,一方面可以更直观的显示设备的运行状态,比较清楚的展现设备的劣化趋势;另一方面也可以针对不同的级别分别进行故障预测,使得故障预测更准确。故障预测就是通过数学建模,预测出即将发生的故障特征,从而判断设备运行状态的未来走势。图3基于状态的故障预测模型4故障特征量的提取对设备进行基于状态的故障预测,其实质是利用预测模型对特征量进行预测,再通过预测的特征量的值来预测未来一段时间设备的健康状态,所以故障特征量的选择显得格外重要,要选择对设备运行状态影响较大的特征量,而对于在线运行的计算机网络设备来说,可以通过SNMP和SYSLOG获取其大量运行信息,比如:生产厂商、路由表、设备的运行时间、板卡的温度、CPU利用率、内存利用率、SYSLOG日志、端口流量、端口丢包率等,通常认为设备的运行时间、板卡的温度、CPU利用率、内存利用率和SYSLOG日志信息对设备的运行趋势影响较大,因此,选择它们作为预测模型的特征量,并且从概率的角度出发,做出以下6点合理假设:1、设备的运行时间越趋近或超过故障周期,认为发生故障的可能性越大;2、板卡的温度超过标准温度(夏季23±3℃,冬季20±3℃)越高,认为发生故障的可能性越大;3、CPU利用率越高,认为发生故障的可能性越大;4、内存利用率越高,认为发生故障的可能性越大;5、SYSLOG级别越低,认为发生故障的可能性越大;从前面的介绍可知:对应于0至7个级别,0级别说明是最严重的消息,设备即将不可用;1级别说明要立即关注系统的状态,发生故障的可能性次之,依次类推,6、7级别发生故障的可能性非常低,只是一些报告性、调试性信息,可以通过SYSLOG采集模块过滤掉。6、SYSLOG日志信息的刷新速度,认为刷新速度越快,出现故障的可能性越大。5故障分级一方面为更直观的显示设备的运行状态、运行趋势,另一方面可以针对不同的级别,分别分析故障特征量对预测结果的影响,提高预测的准确性。参照突发气象灾害用4种颜色即“蓝、黄、橙、红”来表示其严重性,将设备故障的级别也用这四种颜色表示。那么,从设备运行状态来说,“蓝色”预示着设备已经历了潜在故障点,进入“黄色”反映出故障的严重性上升了,“橙色”较“黄色”进一步上升,“红色”则预示着即将到达功能故障点;从趋势上来说,从“蓝色”到“红色”反映出故障的严重性在逐渐上升。反映到P-F间隔图上如图4。图4故障分级而故障分级则是根据设备的故障特征的阈值进行划分的,如果故障特征的指标达到“蓝”、“黄”、“橙”、“红”级别,则判断设备的状态进入了相应的级别,且故障特征的阈值是可以修正的,这里,通过对以往获得的大量历史样本进行统计分析,认为“蓝”、“黄”、“橙”、“红”四个级别对应的阈值如表1至表4所示:表1蓝色预警的阈值蓝色预警类别标准SYSLOG级别SYSLOG级别为3级SYSLOG刷新速度(条/h)5每小时的刷新速度10板卡温度(℃)40板卡温度50CPU利用率(%)70CPU利用率75内存利用率(%)70内存利用率75设备的运行时间故障维修周期前1年备注故障周期为通过预测获得表2黄色预警的阈值黄色预警类别标准SYSLOGSYSLOG级别为4级SYSLOG刷新速度(条/h)10刷新速度15板卡温度(℃)50板卡温度60CPU利用率(%)75CPU利用率80内存利用率(%)75内存利用率80设备的运行时间故障维修周期前6个月备注故障维修周期为通过预测获得表3橙色预警的阈值橙色预警类别标准SYSLOG级别SYSLOG级别为5级SYSLOG刷新速度(条/h)30刷新速度40板卡温度(℃)60板卡温度70CPU利用率(%)80CPU利用率85内存利用率(%)80内存利用率85设备的运行时间故障维修周期前3个月备注故障维修周期为通过预测获得表4红色预警的阈值红色预警类别标准SYSLOG级别SYSLOG级别为6级SYSLOG刷新速度(条/h)40刷新速度板卡温度(℃)70板卡温度CPU利用率(%)85CPU利用率内存利用率(%)85内存利用率设备的运行时间故障维修周期前1个月或已超过维修周期备注故障维修周期为通过预测获得6故障预测故障预测就是通过对历史和当前的故障特征值进行分析,预测出未来的故障特征值,判断设备的预警级别。经过实践证明,当故障发生时,以上六种故障特征中SYSLOG级别和SYSLOG刷新速度并不会因时间的推移而发生变化,可以直接用来判断设备所处的预警级别。而板卡温度、CPU利用率和内存利用率之间关系密切,比如CPU和内存的高利用率势必带来板卡温度的升高,即未来设备的板卡温度、CPU利用率和内存利用率与当前及历史上设备的板卡温度、CPU利用率和内存利用率之间存在一种非线性的关系,而BP网络恰能以任意的精度逼近任何非线性函数,且MATLAB神经网络工具箱提供了对BP神经网络的仿真。因此采用BP神经网络理论来进行故障预测的。6.1反向传播神经网络结构设计6.1.1网络隐层节点数目选择在设计BP神经网络时,一般先考虑设计一个隐层,当一个隐层的隐节点数仍不能改善网络性能时,才考虑再增加一个隐层[3]。这里,我们选择单隐层BP网络进行设计仿真。而设置多少个隐节点则通过试凑法来确定,确定隐节点数的经验公式[4]:mnl(1)式中,m为隐层节点数;n为输入层节点数;l为输出层节点数;为1~10之间的常数。5.1.2传递函数的选择BP属于多层网络,其神经元常用的传递函数包括log-sigmoid型函数logsig,tan-sigmoid函数tansig,以及线形函数purelin。需要指出,sigmoid型传递函数的曲线形状是S型的[5],log-sigmoid、tan-sigmoid型函数都是如此。如果BP网络的输出层采用sigmoid型函数,输出就被限制在[-1,1]范围之内,而如果采用线性函数purelin作为输出层的传递函数,那么输出就可以取任何值。由于网络的输出向量值已经被[-1,1]中,因此输出层神经元传递函数我们选用log-sigmoid函数。而中间层神经元传递函数的选择,我们依据BP网络设计的一般原则设定为S型正切函数tan-sigmoid。6.1.3神经网络的训练网络设计完成后,要应用历史样本对其进行训练。训练时对所有样本正向进行一轮并反向修改权值一次称为一次训练。在训练过程中要反复使用样本集数据。6.2训练样本的确定及分级6.2.1训练样本的确定BP神经网络首先要利用历史训练样本对网络进行训练,该过程是BP神经网络预测的基础。当前校园网网络历史训练样本的主要来源为长期在网运行的H3C智能网管系统所采集的大量数据。经统计整理,在2010年至2013年10月份之间,某校园网路由交换设备共发生103次设备故障,其中设备或(板卡)出现温度过高、CPU和内存利用率较高征兆的占77次,比例达到76.9%。其他导致故障的主要原因为:误操作、电源系统故障等,而这些故障信息大多可以通过SYSLOG获取。可见,温度、CPU利用率和内存利用率是预测故障的一个重要切入点,而SYSLOG信息是一个极为重要的补充。表5为