基于告警相关性的网络故障管理系统研究

2016-03-15 14:52:21王钧玉
湖南税务高等专科学校学报 2016年4期
关键词:网络故障引擎关联

□ 王钧玉

(河南省三门峡职业技术学院,河南 三门峡 472000)



基于告警相关性的网络故障管理系统研究

□王钧玉

(河南省三门峡职业技术学院,河南三门峡472000)

传统网络故障管理系统过于依赖专家知识,无法应对网络复杂性与多变形问题,为此,提出构建基于告警相关性的网络故障管理系统,并对系统功能实现等进行研究。模拟证明该网络故障管理系统能够降低告警实例,为故障定位处理提供便利,具备较好的研究价值。

告警相关性;故障管理系统;设计与分析

网络故障管理涵盖的内容十分广泛,包括告警数据采集、告警相关性分析、故障诊断与定位、故障修复等。因网络连接着众多的设备及系统,在很多情况下,单一网络故障问题的出现,可能会诱发其他故障告警,而大量告警问题的出现,势必会为寻找告警根源带来困难,还会增加网络管理系统运行成本[1]。为此,需要研究告警相关性分析技术,实现告警合并或转化,为网络故障定位提供便利。传统相关性研究越发难以满足网络发展的实际,为此,提出引入人工智能技术进行网络故障诊断。当前,国内外提出了较多的告警相关性分析技术[2],本研究以基于规则引擎的相关性分析为基础,重点对告警相关性网络故障管理系统设计与功能实现等进行研究。

一、基于规则引擎的网络故障管理系统结构设计与分析

(一)规则引擎技术分析

基于规则引擎的网络故障管理系统,其功能实现的基本原理为:针对多变业务规则提取与表示并在系统之外执行处理,本质上是选择规则引擎来代替业务逻辑,并以程序代码的方式固定于系统业务逻辑层,而被代替的业务逻辑则会在应用程序之外的规则库中进行存储。借助图形化规则管理工具可以进行规则库内部资源管理,具体管理形式包括定制规则、部署规则、修改规则与删除规则等[3]。以Rete算法为规则引擎技术核心算法。从结构上来看,规则引擎可以包括以下几个部分:其一,存放规则的规则库;其二,包含匹配算法的推理机;其三,存放被引擎引用反映问题域当前状态的数据对象集合。

规则引擎所承担的主要任务为:以引擎数据与加载于引擎中的业务规则库为对象,通过提交方式进入系统并经推理机进行算法匹配,以实现规则条件选择与激活,被选择与激活的规则则进一步提取至议程之中等待执行。规则引擎的应用,成功将应用程序与业务逻辑进行了分离,在网络故障管理系统设计领域引入规则引擎,能够以规则的方式将网管专家知识存入到规则库之中[4]。一旦网络出现告警,则可以通过规则引擎寻找告警源,并推理出引发故障的原因,为故障维护人员提供参考。Java规则引擎有商业产品及开源项目两种形式,即ILOG JRules 与Drools,考虑到前者成本较高,在本研究中则采取开源规则引擎执行告警相关性分析。

(二)系统结构设计分析

在本研究中,网络故障管理系统设计以管理者/代理模式为主,整体结构划分为两大部分,即承担管理任务的管理工作站部分与被管网络部分[5]。系统管理进程处理遵循以下流程:首先对告警信息进行收集,在已收集的告警集中执行相关性分析,并依据规则与分析结果判断出故障位置。从而指导工作人员进行故障修复,同时保存故障日志。在整个处理流程中,告警相关性分析属于最为关键的部分。

告警相关性分析模块作为一个整体,其功能实现需要依靠其三个主要子模块,即规则提取模块、规则管理模块与告警相关性分析模块。在三个子模块中规则提取模块十分关键,规则获取质量对告警相关性分析效果有着重大影响,规则提取多是以专家知识与数据挖掘为基础。规则管理模块是保障规则库正常运行的关键,承担着规则库动态管理任务。最为核心的模块则是告警相关性分析模块,该模块运行以告警信息为对象,通过规则引擎算法实现相关性分析与判断,为找出告警信息源提供了具体方法。

二、基于告警相关性的网络故障管理系统设计与实现分析

(一)规则提取模块功能设计与实现分析

基于告警相关性网络故障管理系统,进行故障问题相关性分析与判断都会涉及到处理逻辑问题,即面临着业务规则相关的问题。为便于分析,以告警过滤与告警相关性分析为对象进行分析:系统处理逻辑需要预先设定,并对冗余告警与重复告警进行过滤,同时对告警的相关性执行分析;在故障定位过程中,系统则需要借助一定的策略推导出导致故障问题的原因;在故障修复方面,系统可依照预设规则进行系统调整与恢复,系统本身能够提供一定的具体修复策略。告警相关性分析目标实现的关键在于获取告警事件与事件之间的关联规则。关联规则获取则需要以规则库为基础,即首先应解决规则获取问题与规则表示问题。当前,规则提取的方法主要包括两种形式,其一,依照网管专家的知识与经验获取相关规则;其二,以数据挖掘技术为基础,通过挖掘提取出告警序列之中隐藏的关联规则。在传统网络格局下,网管专家经验对于网络诊断至关重要,然而在面对庞大且复杂的网络故障问题时,仅仅依靠专家知识是不能满足故障处理问题的现实要求,还需要通过数据挖掘技术,通过数据挖掘找出网络告警序列之中存在的关联规则,以关联规则为基础执行告警相关性分析。采取关联规则的优势还在于不需考虑网络巨头的拓扑结构,在其拓扑结构出现变化时,可以通过告警历史记录进行深入分析,从而提取告警相关性原则[6]。

在系统设计中,选择Java开源关联规则作为数据挖掘工具,同时借助专家知识与经验进行辅助判断,以确保规则集的准确性与有效性。对于规则表示问题,考虑到本研究采取Drools开源规则引擎,该规则具备规则语言,支持规则编写与表示。Drools规则语言具备以下格式:

Rule"name"

ATTRIBUTES

When

LHS

预埋件按照预埋爬锥设计位置,在模板表面开孔,将装配好的爬锥通过承载螺栓固定于模板上,模板就位,浇筑混凝土,模板拆除后将螺栓重新装上。

Then

RHS

End

在所有的Drools规则中,均是以rule为开端,以end为结束。When描述的是规则条件问题,而then则描述规则动作问题,name代表规则名。在相同文件之中,不允许存在相同名字的规则。ATTRIBUTES代表的是规则属性,为规则运行提供指导,而LHS则属于规则条件部分,属于规则激活后执行代码块。

(二)告警相关性分析引擎功能设计与实现分析

1.告警相关性分析方法。

作为一种新型的故障管理办法,其主要是将若干个告警进行关联并作为含有更多信息量的告警,并对不相干告警与重复告警等进行过滤,从而降低告警信息量,为准确判断故障根源提供基础。在研究事件相关性问题时,需要明确典型的相关性事件类型,其类型主要表现为四种,第一,相同事件,即来源于同一个警源的同一个故障的事件;第二,同源事件。来自于同一个警源但其故障类型不同;第三,相反事件。来源于同一个告警源,但一个告警说明存在告警,一个告警说明其故障问题已解决;第四,拓扑关系事件[7]。表示的是告警源不同且具备一定的拓扑关联。对于不同类型事件,在告警相关性分析时需要采取不同的应对方法,如针对相同事件,则只需要对其中一条故障信息进行显示即可,而对于同源事件,则需要借助规则对根源性告警进行提取,对于相反事件,则需要关联告警信息并将其存入到历史告警页面之中,针对拓扑关系事件,则需要借助规则选出根源性告警或具备根源性特征告警。

2.告警相关性分析引擎设计研究。

告警相关性引擎模块运行遵循以下流程:借助应用程序进行规则引擎调用,能够找出相关API,通过API实现规则引擎对象创建,与此同时,先后创建规则集对象与工作内存对象,通过规则集对象进行规则库相关性分析,规则引擎能够对告警实例与规则库中的规则进行匹配,通过API对引擎下达执行指令,要求引擎运行满足条件的规则,并在规则范围内进行告警相关性分析,并对冗余告警与重复告警等进行删除,合并出能够表明告警源的告警,通过引擎卸载规则库并加载故障定位规则库,依据告警内容进行故障定位规则匹配,并获取故障源,同时系统还可提供故障发生的原因分析,提供故障解决参考意见等[8]。值得注意的是,以上模块进行规则库加载其与程序代码之间是处于分离状态的,为此,在规则出现变化时,则需要进行规则库调整与维护。

3.告警相关性分析引擎实现分析。

Drools属于开源规则引擎,以Java语言为基础,以Rete算法为核心算法,其自身能够提供相关插件及完整程序接口,具备规则语言,在应用程序设计上具备较大优势[9]。对Drools引擎实现方法分析,以相同事件为例,进行告警类信息创建,具体实现方法为:

package myjava;

public class Alarm{

public string source;//告警源

public string type;//告警类型

Public int time;//告警时间

Public int count;//告警计数

public Alarm(string source,string type,inttime)}

super();

This.souree=source;

this.type=type;

this.time=time;

this.count=1;

此外,通过程序编写,还可以实现规则文件、引擎对象、内存对象等创建,编写含有main函数,并对函数执行状况进行分析。实践证明,通过Drools封装Rete算法后,引擎可以进行算法自动调用,能够实现告警实例与规则集规则匹配,同时可通过执行函数进行相关性规则分析,在很大程度上降低了告警实例数量。模拟实验结果表明,基于告警相关性的网络故障管理系统能够在一定程度上降低告警数量,可以大幅降低冗余与重复报警案例,为准确找出告警源提供了便利。

三、结语

研究新型的网络故障管理系统是现代网络发展的必然诉求。在认知规则引擎技术的基础上,重点对基于告警相关性的网络故障管理系统设计与实现进行研究。以其模块功能实现为基础,分析了规则提取与表示、引擎功能设计等内容。研究表明,以开源规则引擎为基础构建基于告警相关性网络故障管理系统,能够快速找出告警源,在很大程度上消除了冗余与重复告警,为故障源定位与修复提供了重要支持,具备较好的应用前景。

[1]宋丹茹.网络故障告警与分析系统的研究[J].信息通信,2013(1):100.

[2]杨煜昕,肖晓强,范辉等.一种基于告警相关性的网络故障监视算法[J].电脑知识与技术,2012(7):4715-4717.

[3]李金凤,王怀彬.基于关联规则的网络故障告警相关性分析[J].计算机工程,2012 (5):44-46.

[4]赵振东,黄楠,李紫涵等.SDH系统网络故障的告警关联分析[J].电力系统通信,2012 (6):63-66.

2016-4-30

王钧玉(1979— ),女,河南周口人 ,硕士,河南省三门峡职业技术学院讲师,主要研究方向:计算机。

TN711.5

A

1008-4614-(2016)04-0054-03

猜你喜欢
网络故障引擎关联
“一带一路”递进,关联民生更紧
当代陕西(2019年15期)2019-09-02 01:52:00
VxWorks网络存储池分析在网络故障排查中的应用
基于信息流的RBC系统外部通信网络故障分析
奇趣搭配
蓝谷: “涉蓝”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
智趣
读者(2017年5期)2017-02-15 18:04:18
Wireshark协议解析在网络故障排查中的应用
无形的引擎
河南电力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame开发
通讯网络故障类型研究