一种基于共现图的系统告警聚类分析方法技术方案

技术编号:22444305 阅读:57 留言:0更新日期:2019-11-02 04:18
本发明专利技术公开了一种基于共现图的系统告警聚类分析方法。本方法为:1)利用历史系统告警信息构建通用共现图;根据通用共现图中节点之间的距离将各系统告警信息聚为若干故障簇,并为每一故障簇设置一生命周期;2)对于一新产生的系统告警信息a,计算系统告警信息a与处于生命周期内的各个故障簇之间的距离;当系统告警信息a与一故障簇的距离小于设定阈值时,则将系统告警信息a加入到该故障簇中,否则为该系统告警信息a新建一个故障簇;3)在过去的一设定时间段内如果有新的系统告警信息纳入一故障簇,则维持该故障簇处于生命周期内,否则删除对应的故障簇。本发明专利技术能更准确得将有内在联系的系统告警聚到同一故障簇中。

A clustering analysis method of system alarm based on co-occurrence graph

【技术实现步骤摘要】
一种基于共现图的系统告警聚类分析方法
本专利技术涉及一种基于共现图的系统告警聚类分析方法,属于计算机软件

技术介绍
软件业务系统在运行过程中,会出现各种各样的故障,监控软件因此会产生系统告警来记录这些故障并告知用户。系统运维团队往往需要利用大量的经验知识与时间精力去分析系统告警,找到故障根因,解决系统出现的问题。系统告警的聚类分析旨在将疑似同一故障引发的相关告警聚成同一个故障簇,在辅助运维人员发现故障根因、恢复系统正常运行方面发挥着重要作用。现有的系统告警聚类分析方法大致可归为以下四类以及它们的组合。(1)以时间为依据,将发出时间相近的系统告警聚到同一故障簇中;(2)利用告警描述的相似度、局部敏感哈希、编辑距离等信息将具有相似描述的告警聚到同一故障簇中;(3)利用系统调用图(callgraph),将拥有调用关系的主机上的系统告警聚到同一故障簇中;(4)将一些运维经验编写成规则,将符合规则的告警聚到同一故障簇中。对应上述四类方法,现有的系统告警聚类分析方法存在的局限性分别为:1.系统告警具有多源并发性,单纯以时间为依据进行类簇划分的方法过于简单粗暴;2.基于告警描述信息的方法不能将具有内在联系、却描述迥异的系统告警聚到同一故障簇中;3.由于系统调用关系复杂且随业务更新频繁,完整的系统调用图通常难以获取或全面绘制;4.基于规则的方法需要有大量的专业知识,对运维人员有很高要求。同时经验规则所能覆盖的情形有限,难以覆盖业务系统出现的新情形、新故障。此外,经验规则的可移植性较差,很难在不同领域的运维任务中自由切换。
技术实现思路
本专利技术的目的在于提供一种基于共现图的系统告警聚类分析方法。本专利技术在系统告警的聚类分析任务使用共现图方法,从不同角度,利用告警信息构建多张共现图,为系统告警的聚类分析提供决策依据。本专利技术的技术方案为:一种基于共现图的系统告警聚类分析方法,其步骤包括:1)利用所选的历史系统告警信息构建通用共现图;根据通用共现图中节点之间的距离将各系统告警信息聚为若干故障簇,并为每一故障簇设置一生命周期;2)对于一新产生的系统告警信息a,计算系统告警信息a与处于生命周期内的各个故障簇之间的距离;当系统告警信息a与一故障簇的距离小于设定阈值时,则将系统告警信息a加入到该故障簇中,如果系统告警信息a与多个故障簇的距离小于设定阈值,则将系统告警信息a加入到距离最小的故障簇中;如果系统告警信息a与各故障簇的距离都大于设定阈值,则为该系统告警信息a新建一个故障簇;3)在过去的一设定时间段内如果有新的系统告警信息纳入一故障簇,则维持该故障簇处于生命周期内,否则删除对应的故障簇。进一步的,利用各系统告警信息的发生时间邻近关系构建通用共现图;所述通用共现图中的每个节点为系统告警信息中的告警源,如果两条系统告警信息A1、B1的发生时间间隔小于阈值T1,则系统告警信息A1、B1所对应的节点之间存在一条边。进一步的,通用共现图中连接两告警源的边的长度为过去设定一段时间内两个告警源共现次数的倒数。进一步的,系统告警信息a与故障簇的距离为系统告警信息a与该故障簇中每条系统告警信息在通用共现图上距离的平均值。进一步的,步骤1)中,对于通用共现图中,如果两条系统告警信息A2、B2所对应的两节点之间存在一条边且系统告警信息A2、B2来自不同的监控软件,则缩小通用共现图中系统告警信息A2、B2所对应两节点之间的距离;将处理后的通用共现图称为层级共现图,根据该层级共现图中节点之间的距离将各系统告警信息聚为若干故障簇。进一步的,步骤1)中,还生成一系统调用共现图;系统调用共现图中的每个节点为系统告警信息中的告警源,如果两条系统告警信息A3、B3的监控软件具有调用关系,则系统告警信息A3、B3所对应的节点之间存在一条边,系统告警信息A3、B3之间边的长度为系统告警信息A3、B3共现次数的倒数;基于层级共现图中节点之间的距离和系统调用共现图中节点之间的距离将各系统告警信息聚为若干故障簇。进一步的,所述系统告警信息包括告警源、发生时间、告警描述、告警级别和监控程序类型。一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。一种计算机可读存储介质,其特征在于,存储一计算机程序,所述计算机程序包括用于执行上述方法中各步骤的指令。与现有技术相比,本专利技术的积极效果为:共现信息是系统告警自身的信息,不需要人为制定规则。共现图减弱了聚类分析任务对运维经验和系统调用图的依赖。本专利技术通过引入共现图,利用机器学习的方法去挖掘不同系统告警之间的内在联系,从而减弱对专业经验和系统调用图的依赖,更准确得将有内在联系的系统告警聚到同一故障簇中,从而大幅减少排查业务系统故障的人工成本。具体实施方式下面对本专利技术的技术方案做进一步的详细说明。本专利技术提出了一种基于共现图的系统告警聚类分析方法。该方法利用系统告警信息构建多张共现图,并将其应用于系统告警的聚类分析任务中。为方便下文解释,统一做如下定义:告警:监控软件在业务程序运行过程中监控硬件设备、软件程序等而产生的异常告警信息,通常包括告警源(如IP地址)、发生时间、告警描述、告警级别、监控程序类型等信息。共现图:利用告警发生时间的邻近关系而构建的共现关系图,简称共现图。共现图中的每个节点为告警源,如果两条告警的发生时间接近(比方时间间隔小于某个给定的阈值T,如这里取T为1小时),则这两条告警所对应的节点(即告警源)之间存在一条边,表示它们之间存在共现关系。这里的共现图是一个带权图,边上的权重定义为过往一段时间(时间长短可由训练数据的时间跨度来定)内两个告警源共现次数的倒数。之所以取倒数,是想将该倒数值视为两个告警源之间的距离。边上的权重越小,代表该边对应的两个告警源距离越近,在发生故障时越相关,越有可能在同一个故障簇里面。本专利技术基于的现实假设为:经常同时出现的告警源往往具有一定的关联关系,于是可以利用告警源在共现图上的距离来刻画两个告警之间的关联密切程度,从而衡量它们是否要聚到同一个故障簇里面。1.构建通用共现图给定系统告警集合A={a1,…,aN},涉及到的告警源集合记为V,将每个告警源视为共现图中的一个节点,记每个告警an∈A的告警源为s(an)∈V。设定时间窗口T,我们按如下方法在节点集V上定义无向边集E。若告警ai与告警aj的发生时间间隔小于T,则ai的告警源s(ai)与aj的告警源s(aj)在共现图中存在一条边(即共现了一次),对整个系统告警集合A={a1,…,aN}搜索完成之后,共现图中边上的权重定义为该边两侧节点(即两个告警源)共现次数的倒数。该权重可视为两个告警源之间的距离。权重(即距离)越小,代表这两个告警源存在关联关系的可能性越大,在发生故障时越相关,越有可能在同一个故障簇里面。2.构建系统调用共现图(可选,视情况而定)如果可以获取系统调用图,则还可以进一步基于系统调用图构建系统调用共现图。系统调用共现图一般由监控软件产生,是个无权图。本方法在系统调用图的基础上构建带权重的系统调用共现图,以便更真实得描述不同主机之间的紧密联系程度。采用与上一步骤1类似的赋值方法来更新系统调用共现图中边上的权重本文档来自技高网...

【技术保护点】
1.一种基于共现图的系统告警聚类分析方法,其步骤包括:1)利用所选的历史系统告警信息构建通用共现图;根据通用共现图中节点之间的距离将各系统告警信息聚为若干故障簇,并为每一故障簇设置一生命周期;2)对于一新产生的系统告警信息a,计算系统告警信息a与处于生命周期内的各个故障簇之间的距离;当系统告警信息a与一故障簇的距离小于设定阈值时,则将系统告警信息a加入到该故障簇中,如果系统告警信息a与多个故障簇的距离小于设定阈值,则将系统告警信息a加入到距离最小的故障簇中;如果系统告警信息a与各故障簇的距离都大于设定阈值,则为该系统告警信息a新建一个故障簇;3)在过去的一设定时间段内如果有新的系统告警信息纳入一故障簇,则维持该故障簇处于生命周期内,否则删除对应的故障簇。

【技术特征摘要】
1.一种基于共现图的系统告警聚类分析方法,其步骤包括:1)利用所选的历史系统告警信息构建通用共现图;根据通用共现图中节点之间的距离将各系统告警信息聚为若干故障簇,并为每一故障簇设置一生命周期;2)对于一新产生的系统告警信息a,计算系统告警信息a与处于生命周期内的各个故障簇之间的距离;当系统告警信息a与一故障簇的距离小于设定阈值时,则将系统告警信息a加入到该故障簇中,如果系统告警信息a与多个故障簇的距离小于设定阈值,则将系统告警信息a加入到距离最小的故障簇中;如果系统告警信息a与各故障簇的距离都大于设定阈值,则为该系统告警信息a新建一个故障簇;3)在过去的一设定时间段内如果有新的系统告警信息纳入一故障簇,则维持该故障簇处于生命周期内,否则删除对应的故障簇。2.如权利要求1所述的方法,其特征在于,利用各系统告警信息的发生时间邻近关系构建通用共现图;所述通用共现图中的每个节点为系统告警信息中的告警源,如果两条系统告警信息A1、B1的发生时间间隔小于阈值T1,则系统告警信息A1、B1所对应的节点之间存在一条边。3.如权利要求2所述的方法,其特征在于,通用共现图中连接两告警源的边的长度为过去设定一段时间内两个告警源共现次数的倒数。4.如权利要求1所述的方法,其特征在于,系统告警信息a与故障簇的距离为系统告警信息a与该故障簇中每条系统告警信息在通用共现图上距离...

【专利技术属性】
技术研发人员:周川高扬胡玥谭建龙郭莉
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1