基于业务拓扑的告警聚类关联分析方法*
2022-06-16匡立伟
尹 山 匡立伟
(1.武汉邮电科学研究院 武汉 430074)(2.烽火通信科技股份有限公司 武汉 430073)
1 引言
随着光网络的高速发展,其运维也面临着新的挑战。从海量的告警数据中找到根源告警实时准确诊断故障,保障光网络稳定运行至关重要[1]。
目前基于关联规则挖掘的告警相关性分析已经取得了一系列的研究成果[2~6],其中应用较为普遍的是Apriori算法[7~8]以及在其基础上的一些改进算法[9~11]。通过滑动时间窗口法进行告警聚类得到告警事务集是较为有效的方法之一[12~13]。但该方法没有充分考虑到告警之间的业务关系,很可能将原来相关的告警划分在不同的序列中。文献[14]提出了网络和时间约束的告警相关性分析算法,在时间和空间上进行关联规则挖掘,有一定指导作用。因此,针对滑动时间窗口法的缺陷,结合网络业务拓扑信息与告警相关性的关联关系,本文提出基于业务拓扑的告警聚类关联分析方法。该方法充分考虑光网络结构,从光网络业务维度压缩告警,改进现有的告警聚类方法,使得将相关告警划分在不同序列中的可能性尽量减小,为后续光网络故障溯源提供了有效支撑。
2 问题描述和改进方法
传统的滑动时间窗口法在窗口宽度和滑动步长的设定上存在一定不足[15]。光网络中告警产生具有随机性,产生时间具有不确定性。采用固定的窗口宽度和滑动步长,可能会出现如下问题:1)生成空白告警事务集,造成时间和空间资源的浪费,影响告警关联规则挖掘效率;2)窗口宽度过小,同一故障产生的告警可能会被划分到不同告警事务集,不能提取完整的关联告警信息;3)窗口宽度过大,不同故障产生的告警可能会被划分到同一告警事务集,降低告警关联规则挖掘准确度。
因此,依据现网告警具有业务拓扑相关性,基于业务拓扑进行告警聚类,将一条业务链路上的告警划分到一个聚类簇,得到一组具有业务相关性的告警。再定义时间窗来确定这一组告警在时间上是否相关。设一组具有业务相关性的告警事务集中的告警发生时间为t1,t2,…,tn,其中ti-1≤ti(2 ≤i≤n),时间差Δt=ti-ti-1,时间窗口宽度为ΔT,在时间窗内发生的告警,即Δt≤ΔT,才认为具有时间相关性。由此得到既具有业务相关性又具有时间相关性的告警事务集,弥补了滑动时间窗口法的局限性。
光传送网(Optical Transport Network,OTN)的一个主要特征就是网络的层次化。论文基于此特点对告警事务集进行规则挖掘。光传送网的每个层次之间彼此互为服务层和客户层。一个告警事务集中,若告警A 和告警B 属于同一业务路径的不同层次,告警A 处于服务层,告警B 处于客户层,告警A 的产生导致同时产生告警B,则告警A 是告警B的根告警。若告警A和告警B处于业务路径的同一层次,则计算告警A 和告警B 的支持度和置信度,并定义后项置信度,确定根衍告警。支持度表示告警A 和告警B 在聚类簇S 中同时出现的概率。如果告警A 和告警B 同时出现的概率大,说明告警A和告警B总是相关的。置信度表示告警A出现在聚类簇S 中时,告警B 同时出现的条件概率。后项置信度表示告警B 出现在聚类簇S 中时,告警B 由告警A 引起的条件概率。置信度和后项置信度越高,说明告警A 和告警B 之间的关联强度越大,告警A是告警B的根告警。
3 告警聚类关联分析方法设计
本文基于业务拓扑的告警聚类及关联分析方法主要包含三个模块:数据预处理模块,数据聚类模块,规则挖掘模块。整体框架如图1所示。
图1 告警关联分析系统整体架构
数据预处理模块:从网管系统中导出的原始告警文件和原始拓扑文件需要进行数据预处理,筛除其中无效数据,并提取出下一步聚类要用到的关键字段。如告警数据中的告警ID(TypeId)、告警发生时间(Ocurrence Time)、网元(NeId)、单盘(Board-Id)、端口(PortKey)、业务ID(Business ID)信息;拓扑数据中每个拓扑节点的业务ID(Business ID)、对应的层次(Layer)、路由(Route)、客户层和服务层(上下层)业务ID(ClientID,ServerID)。通过业务ID上下关联能够形成业务链路拓扑信息。预处理后的部分告警数据和拓扑数据实例如表1、表2所示。
表1 告警数据实例
表2 拓扑数据实例
数据聚类模块:对预处理后的告警数据根据业务ID 进行聚类,并映射到相应的拓扑节点,形成业务链路相关的聚类簇。业务聚类簇按实际情况可分为:单业务单告警聚类簇,单业务多告警聚类簇,多业务多告警聚类簇。单业务单告警聚类簇中只包含单个业务ID 和单个告警,对这种“落单”告警无需进行关联分析;单业务多告警聚类簇中包含单个业务ID 和多个告警,这多种告警一般发生在业务路径的同一层次;多业务多告警聚类簇则包含多个业务ID 和多个告警,这多个告警可能发生在业务路径的不同层次或同一层次。在后两种业务聚类簇的基础上再对簇内告警按时间窗宽度做细粒度聚类,得到具有时间相关性的细聚类簇。
规则挖掘模块:细聚类簇中的告警根据其拓扑节点的层次对比得到根衍规则。同一业务路径不同层次,则服务层告警为根告警客户层告警为衍生告警;同一业务路径同层次,则计算相应告警的支持度、置信度和后项置信度,再设定相应阈值得到同层次的根衍规则。
4 实验及分析
为验证方法的可行性和有效性,本文以某地级市现网采集的告警和拓扑数据进行实验验证。在该地区采集24 小时339 个站点共14106 条告警数据,预处理后还有14106 条告警数据共659 种业务ID。原始网络拓扑共67804 种拓扑节点,与告警数据相匹配的拓扑节点共657 种。缺失的两种业务ID 可能是网管服务器未能及时获取更新的拓扑信息造成的。
采用本文方法对告警数据进行业务相关性聚类,得到告警事务集532 个,去除单业务单告警聚类簇,再对业务相关聚类簇进行时间相关性细聚类后得到事务集150个,挖掘规则131条,部分强关联告警规则如表3所示。
表3 告警关联规则
以其中一个告警事务集为例,统计其中告警相互关联下的置信度和后项置信度如表4 所示。该告警事务集有4 种告警,分析得到共8 种告警关联规则。
表4 告警关联示意
图2 对比了采用传统滑动时间窗口法和本文方法得到的告警事务集个数和关联规则个数。
图2 采用传统滑动时间窗口法和本文方法得到的告警事务集和关联规则对比图
对比可知,由本文方法得到的告警事务集个数明显少于传统方法,同时可以挖掘出更多的关联告警规则。而且如表3 挖掘出的告警规则经由通信专家鉴定基本符合实际情况,准确度较高。综上所述,本文基于业务拓扑的告警聚类关联分析方法,有效减少了告警事务集种类,提高了告警聚类的准确度,在实际工程应用中具有一定的可行性。
5 结语
本文针对OTN 网络告警具有的业务拓扑相关性,以业务分析为核心,提出基于业务拓扑的告警聚类关联分析方法。该方法的基本思路是引入告警发生时对应的网络拓扑结构和业务逻辑信息对告警进行聚类,再根据时间窗口阈值进行时间相关性的细粒度聚类,然后对每个细粒度聚类簇中的告警再基于告警发生层次进行根衍规则的挖掘。实验结果证明,该方法更符合OTN 网络自身的特点,有一定的可行性和优越性。下一步工作是将挖掘出的关联规则进一步应用于光网络故障溯源研究上,实现告警根因的智能化分析。