APP下载

民航旅客服务信息系统告警关联规则挖掘

2016-05-09赵纪刚丁建立

计算机应用与软件 2016年4期
关键词:滑动关联规则

赵纪刚 张 超 丁建立 王 静

民航旅客服务信息系统告警关联规则挖掘

赵纪刚1张 超2丁建立2王 静2

1(中国民航信息网络股份有限公司 北京 100105)

2(中国民航大学计算机科学与技术学院 天津 300300)

告警关联规则挖掘是进行系统故障诊断、定位的重要方法。由于民航旅客服务信息系统的各子系统之间的关联关系,子系统一旦出现故障,会报出大量甚至海量的告警信息,使得维护人员在大量告警数据面前无法准确进行故障定位。针对故障诊断、定位等难题,提出基于滑动时间窗口框架的关联规则挖掘方法,在大量告警信息中寻找故障源、故障因素之间的关联。实验结果表明,提出的方法能准确、快速地发现有价值的告警关联规则,为系统维护人员提供决策支持。

滑动时间窗口 告警关联 规则挖掘 频繁项集

0 引 言

民航旅客服务信息系统是国家民航业重要信息系统,承载着民航大量的重要业务,需要保持每天24小时无间断的持续运行,并具有安全性、可靠性、高效性和实时性等特点。系统的瘫痪甚至某个应用的服务中断、进程的丢失等都可能会导致多个民航业务的瘫痪。因此,国家和民航局对民航旅客服务信息系统的安全可靠运行提出了很高的要求。目前,日志记录是实现系统及应用软件全流程监控的一种重要方式,业务系统每天的运行情况都会记录到日志文件中。其中包含了非常重要的业务运行数据以及故障事件的前因后果等重要信息。尤其当系统发生故障时会出现大量的告警信息,这使系统维护人员不能及时准确地发现根源告警信息,更难以发现告警数据之间的关联关系,系统维护任务困难且繁重。所以科学合理研究分析告警数据之间的关联关系,显示根源告警信息,过滤掉根源告警引起的其他告警数据,实现故障的诊断、预测[1]和报警处理的智能化,对于及时处理故障、维护系统安全具有重要意义。

1 国内外研究现状

目前国内外很多学者提出了各种基于告警关联规则挖掘的方法,提高了相关性分析的效率和准确性。Gao等研究如何从大量告警数据中挖掘的关联规则[2]。Yan等[3]提出基于数值约束的方法来进行网络告警关联规则发现。徐前方[4]提出了一种基于相关度统计的告警关联规则挖掘算法。由于民航信息系统的告警信息的非结构化特性导致上述方法无法直接对数据进行规则挖掘,另外对于时间维度上告警信息如何处理成待挖掘数据集也是一个难点。本文针对告警数据的特殊性,运用滑动时间窗口模型,针对窗口大小和步长进行探讨,来生成事务集,并对事务集进行告警关联规则挖掘。

2 安全监控系统及告警数据特征分析

2.1 安全监控系统

安全监控系统是监控民航旅客服务信息系统各个应用子系统的平台。监控系统在每个应用子系统上部署一个Agent端点,每当应用子系统发生故障就会发出告警信息,Agent端点负责信息采集,监控系统把告警信息进行简单分析然后把相应的告警发送给维护人员。同时,监控系统也把告警数据存放到日志文件中去,告警监控示意如图1所示。

图1 告警信息监控示意图

2.2 安全监控系统告警数据特征

安全监控系统采集的各个应用子系统的告警数据有着不同于其他行业数据的特点,它存储于日志文件中,属于一种非结构化数据。通过分析和研究监控系统的告警数据将其特征总结如下:

1) 海量数据。由于民航业飞速发展,应用子系统越来越多,而且联系越来越紧密,设备与设备、系统与系统之间的关系也越来越复杂。这造成一个设备出现故障,可能会引发其他设备也发出告警信息,系统拓扑结构是产生大量告警信息的主要原因。

2) 时序性。告警数据的产生在时间上是呈现为先后顺序的,也就是说根源故障总是先发生,继而导致后续故障发生。它们有很强的时间关联,这也是确定告警根源的一个重要依据。

3) 关联性。由于应用子系统之间和设备之间的关联关系,告警之间的激发关系,所以使得告警数据之间存在有意义的关联关系,此特性是挖掘分析与研究的重点。

4) 非结构化。告警数据存放于日志文件中,它是一种文档格式,没有固定结构,只存在一定的格式标准。同时故障中存储的信息也是多种多样,不只告警信息,这就造成通常挖掘算法不能直接应用到原始日志文件中,必须对日志文件进行预处理,把告警数据处理成结构化数据,方便挖掘。

3 告警关联问题描述及挖掘算法模型介绍

3.1 告警关联问题描述

3.1.1 告警数据处理

告警数据存储在日志文件中,日志文件的非结构化形式存储使得通用挖掘算法不能直接应用于此告警数据,必须得经过数据预处理,提取告警数据将其转化为结构化数据,使其能够被挖掘算法所处理。数据预处理是数据挖掘过程中重要且关键的一步,数据预处理的好坏决定着关联规则挖掘的质量与效果。告警关联分析模型如图2所示。

图2 告警关联分析模型

用正则表达式提取日志文件中具有XML形式的告警数据,并保存XML格式的文本。用Dom4j框架解析保存好的XML文本,提取各个应用子系统的告警信息,去除噪声数据(即缺失关键字段信息的告警数据)并保存为结构化形式数据。每条数据按D={Event_hostname, Event_name, Event_id, Source,Info, Time, Level, Agent_name}形式存储到数据库中,其中Source表示告警发生源头,实际就是告警所发生的主机的IP地址,Info表示告警信息,Time表示告警发生的时间,Level表示故障等级。

3.1.2 相关问题描述

定义1 告警序列[5,6]

告警序列S是由告警信息集合上的多个有序的告警组成,表示为S={s,Ts,Te},Ts为告警序列起始时间,Te为告警序列终止时间。如图3所示,告警序列由多个告警事件(A,t)组成,A代表告警信息,t代表告警发生时间。

图3 告警时序图

定义2 告警窗口[7,8]和滑动步长。

对于给定告警序列S={s,Ts,Te}上面的一个告警子序列,可以表示为Sw={w,ts,te},ts>Ts,te。滑动步长为当前告警窗口向后滑动的距离,这里用d表示。

定义3 告警关联规则。

给定一个告警序列S,告警情景α是告警序列组成的告警集合,设定告警窗口宽度w,滑动距离d。遍历整个告警数据库序列集。若告警情景α发生的频繁程度大于给定的最小支持度MinSup,则说明告警情景α是频繁的。

(1)

告警情景α⟹β的置信度定义为:

(2)

若告警情景α=A,β=AB,conf(α⟹β)=90%,情景α、β都是频繁告警序列并且满足conf大于最小置信度MinConf,则可以得出一条告警关联规则:若情景α出现,则在一个告警窗口内,情景α出现的概率为90%。

定义4 告警偏序关系[9]。

下面介绍告警序列中告警信息间的三种偏序关系(如图4所示)。

图4 告警偏序关系

(1) 串行关系

根据告警数据的时序性,告警序列间发生告警是有先后引发关系的。当一种告警事件发生时,会引发另外一种或多种告警事件发生,且这种关系是固定不会逆转的,即α⟹β,但不存在β⟹α,则称这种关系为串行关系。

(2) 并行关系

对于告警情景α、β, α发生β也发生,β发生α也发生,即它们之间没有严格的时间先后关系,总是同时发生,则称这种关系为并行关系。

(3) 混合关系

告警情景(c)由告警事件E、F和G组成,且通常告警E和F共同发生后会引起告警G发生,那么E、F和G为混合关系。其实混合关系也是串行关系与并行关系的一种综合关系。

3.1.3 时间窗口宽度和滑动步长选择

时间窗口宽度和滑动步长是影响规则挖掘结果的两个重要因素。时间窗口宽度过小会使一些有关联的告警事件无法被挖掘出来,时间窗口过大会造成原本没有关联的告警事件当作关联规则被挖掘出来。本文时间窗口宽度设置依据是,统计整个告警数据集上告警事件的持续时间,并根据时间分布比例来设置窗口宽度大小。

滑动步长的选择以保证相邻窗口有足够的重叠为原则[10]。滑动步长越小,相邻时间窗口内告警相关性越强,挖掘的关联规则越多。滑动步长越大,相邻的两个时间窗口内告警重叠越少,告警相关性越弱,挖掘的关联规则越少。滑动步长取值范围为Smin

3.2 基于时间滑动窗口的关联规则挖掘算法

本算法主要分为两个主体部分:(1)生成告警关联数据集;(2)告警关联规则挖掘。其中在生成告警关联数据库部分,为了压缩告警数据,提高挖掘告警关联规则的效率,运用了有效时间窗口的思想。

3.2.1 生成告警关联数据集

首先设定时间窗口的大小以及窗口滑动距离,遍历整个数据预处理后的告警数据集,产生告警关联数据集。由于告警数据集的告警字段很多,为了提高算法的挖掘效率,对字段进行缩减,只提取那些对告警关联规则挖掘紧密相关的字段。本算法主要提取四个字段:① 发生告警的主机IP;② 产生的告警信息,描述发生了何种告警信息,包括故障类型,产生原因;③ 告警发生时间;④ 告警发生等级。最终生成了告警数据库,每个时间窗口内发生的告警事件作为一条数据集,每条数据集记录了告警信息,告警发生时间、告警数据所发生在的主机IP地址以及在窗口内发生的次数。

由于系统并不是时时刻刻都在告警,有些告警数据中间的时间差比较大,这样就会造成时间窗口在数据集上按照时间维度滑动时,有些时间窗口内并没有告警事件发生,这样就产生了空时间窗口,称为无效时间窗口。整个时间序列上有效窗口的个数为:

(3)

其中,|W(S,W)′|表示无效窗口数。显然,在生成频繁项集过程中需要扫描数据库,无效窗口浪费了很多扫描时间,占用了大量空间。本算法去掉所有无效时间窗口,基于时间窗口的思想进行实验,大大提高了算法的效率。由式(1)可知,时间窗口数量|W(S,W)|减小,支持度也提高了。

分析告警数据时发现在一个时间窗口中,同一个告警事件在一个时刻发生了多次,而且在不同时刻也发生了多次。为了压缩告警数据库,同时避免一个告警事件在一个窗口内发生频繁而其他时间窗口极少发生而被计算成频繁项的情况,本算法采用如下处理模型,一个时间窗口中同一个告警事件发生了多次被记录一次。为了保证原有告警数据的时序性,严格按照告警事件发生的时间顺序进行记录。

3.2.2 告警关联规则挖掘

本文采用FP-Tree的序列模式挖掘算法[4],通过两次扫描数据库,构造FP-Tree,在以后发现频繁项集的过程中,不需要产生候选项集,效率明显强于Apriori算法。基本思想为:首先通过FP-Tree的改进,将告警数据压缩到FP-Tree上,然后对FP-Tree自底向上查找频繁告警项集,最后挖掘告警事件间的时序关系。算法的输入输出如下:

输入:(1) 告警序列S;(2) 滑动窗口宽度w和滑动步长d;(3) 最小支持度MinSup;(4) 最小置信度MinConf。

输出:S中满足MinSup和MinConf的关联规则。

4 实验测试及结果分析

在CPU为Intel 2140-1.6 GHz,内存为2 GB,操作系统为Window7的计算机环境下,用Java对数据库SQL Server 2008里存储的已预处理的告警数据进行了实验。对 2013年12月1日到2013年12月21日的告警数据的告警事件持续时间进行统计分析,对告警事件按持续时间进行划分,不同持续时间的告警事件所占比重如图5所示。

图5 告警事件持续时间分布图

由图5可知,持续时间在16分钟以内的告警事件大约在整个告警数据集中95%左右,也就是说绝大部分告警事件会囊括在宽度为16分钟的时间窗口内。实验中设置滑动窗口的宽度为16分钟,滑动距离大小为8分钟,设置最小支持度为8%,置信度为85%。实验数据为民航旅客服务信息系统连续三周的告警数据,大约46 000条告警记录,27种告警类型。实验挖掘出的告警关联规则如表1所示。

表1 告警关联规则

以第一条规则为例解释挖掘出关联规则的含义:当IP地址为10.6.141.16的子系统下发生了ALARM_TLOG_RESTART这个告警时,在时间窗口大小16分钟内,IP地址为10.6.141.16的子系统下发生ALARM_TLOG_ERROR这个告警的概率为91.3%。

为了验证挖掘出关联规则的准确率,进行了另外一组验证实验,验证数据是2013年12月22日到2013年12月31号产生的告警信息。把告警信息与关联规则前件进行匹配,如果告警信息和规则后件描述一致,则规则匹配成功,否则匹配失败。部分关联规则准确率如表2所示。

表2 告警关联规则准确率

根据上面提到的关联规则之间的偏序关系,对挖掘出来的告警关联规则进行意义及应用分析。比如表1中第一条告警关联规则满足串行关系,其意义有两点:(1) 追溯故障源,把告警规则的前件当作故障源来处理;(2) 压缩冗余的告警数据,系统在发生告警时会报出大量数据,除了故障源之外,与故障源关联的其他系统也会报出告警数据,这样在下次系统发生规则前件的告警时,让安全监控系统的Agent只提取出规则前件的告警信息,其余告警信息过滤掉。表1中的第二、三条告警关联规则属于偏序关系中的并行关系,当规则前件的告警事件发生时可以预测另外IP地址下的子系统将要发生的告警。第七条规则属于混合关系,规则前件的事件都发生后来预测规则后件的告警。这些规则的意义对于维护人员来说可以提前采取措施进行处理,及时恢复系统。

5 结 语

本文根据民航旅客服务信息系统产生的告警数据的特征进行了数据预处理并用基于事件窗口滑动的框架模型进行了告警关联规则的挖掘并取得有效的实验结果。系统维护工作的繁杂使得告警关联规则的挖掘很有必要。挖掘出的告警关联规则对于系统维护人员进行故障定位、告警数据压缩以及告警事件的预测起到了决策支持的作用。下一步将对支持度以及置信度等参数的设置对实验结果影响做更细致和深入的研究。

[1] 张现飞, 侯思祖.电力通信网监控系统告警关联分析[J].电力系统通信, 2009,30(1):47-50.

[2] Gao H S, Li Y M. An efficient communication network SDH alarm association rule mining algorithm[J].Advanced Materials Research, 2014,926-930:1870-1873.

[3] Yan H, Zhang T. Association rules mining based on numeric constraint[J].Advances In Information Sciences and Service Sciences,2012,4(23):634-642.

[4] 徐前方. 基于数据挖掘的网络故障告警相关性研究[D].北京邮电大学, 2007.

[5] 徐前方, 阚建杰, 李永春. 一种具有时序特征的告警关联规则挖掘算法[J].微电子学与计算机, 2007,24(3):23-26.

[6] Li T, Li X. Novel alarm correlation analysis system based on association rules mining in telecommunication networks[J].Information Sciences, 2010,180(16):2960-2978.

[7] 李国辉, 陈辉. 挖掘数据流任意滑动时间窗口内频繁模式[J].软件学报, 2008,19(10):2585-2596.

[8] Hou S, Zhang X. Alarms association rules based on sequential pattern mining algorithm[C]//Proceedings-5th International Conference on Fuzzy System and Knowledge Discovery: 2008:556-560.

[9] 刘康平, 李增智. 网络告警序列中的频繁情景规则挖掘算法[J]. 小型微型计算机系统, 2003,24(5):891-894.

[10] 李彤岩, 李兴明. 基于双约束滑动时间窗口的告警预处理方法研究[J].计算机应用研究,2013,30(2):582-584.

[11] 陈辉, 邓庆山, 杨兵. 挖掘数据流最近时间窗口内频繁模式[J].小型微型计算机系统, 2009, 30(12):2404-2408.

[12] 寇香霞, 任永功, 宋奎勇.一种基于滑动窗口的数据流频繁项集挖掘算法[J].计算机应用与软件, 2013,30(1):143-146.

ALARM ASSOCIATION RULES MINING IN AVIATION PASSENGER SERVICE INFORMATION SYSTEM

Zhao Jigang1Zhang Chao2Ding Jianli2Wang Jing2

1(TravelSkyTechnologyLimitedCompany,Beijing100105,China)2(SchoolofComputerScienceandTechnology,CivilAviationUniversityofChina,Tianjin300300,China)

Alarm association rules mining is an important method in system fault diagnosis and localisation. Due to the association relationship between each subsystem in aviation passengers service information system, once a subsystem fails, it will produce a large number of or even massive alarm information, which makes it hard to find the system fault root for the system maintenance personnel. To overcome the difficulties of fault diagnosis and localisations, this paper puts forward an association rules mining method which is based on sliding time window framework. This method can find the association relationship between fault roots and fault factors from huge alarm information. Through the experiment it is indicated that the proposed method can find the valuable alarm association rules accurately and quickly, and provides the decision-making support for system maintenance personnel.

Sliding time window Alarm association Rule mining Frequent item sets

2014-08-08。国家科技支撑计划项目(2012BAH 21F02);民航局科技创新引导资金专项(MRHD20130106);中国民航大学中央高校基金项目(3122014P004,3122014C016)。赵纪刚,工程师,主研领域:计算机应用,民航信息系统。张超,硕士生。丁建立,教授。王静,讲师。

TP273+.4

A

10.3969/j.issn.1000-386x.2016.04.017

猜你喜欢

滑动关联规则
撑竿跳规则的制定
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
数独的规则和演变
“一带一路”递进,关联民生更紧
一种新型滑动叉拉花键夹具
Big Little lies: No One Is Perfect
奇趣搭配
让规则不规则
智趣
TPP反腐败规则对我国的启示