一种告警关联方法及网管系统与流程

文档序号:11959574阅读:411来源:国知局
一种告警关联方法及网管系统与流程

本发明实施例涉及网络技术,尤指一种告警关联方法及网管系统。



背景技术:

通常,网络设备发生一个故障时,会产生多个告警,而其中一个为主告警,也就是产生故障的根源,其它告警都为主告警的衍生告警,而网络设备向网管系统上报告警时,并不对告警进行区分,而是直接将所有告警一并上报,因此维护人员无法确认故障的真正产生原因。

为了使维护人员能够确认故障的真正产生原因就需要网管系统对网络设备上报的告警进行关联性分析,找出真正的主告警和衍生告警。目前,告警关联分析采用的方法大致包括:网管系统通过结构化查询语句实时地从网管系统中的资源数据库中获取告警关联分析的相关数据,然后根据主告警和衍生告警的关联规则对获取到的告警关联分析的相关数据进行相关的告警关联逻辑分析。

但是,当采用上述告警关联分析方法时,由于每进行一次告警关联分析,都需要通过结构化查询语句从资源数据库中获取相关数据,并进行相应的算法计算和逻辑判断,因此导致了告警关联分析的效率低。



技术实现要素:

本发明实施例提供了一种告警关联方法和网管系统,能够提高告警关联分析的效率。

一方面,本发明实施例提供了一种告警关联方法,具体包括以下步骤:

获取网络设备上报的故障产生的告警和告警对应的相关数据;

根据预设告警关联规则和告警对应的相关数据,获取并存储用于判断关联告警的告警关联关系数据,其中,关联告警包括:主告警和衍生告警;

根据告警关联关系数据,确认获取到的告警是否为关联告警,若告警是关联告警,则对获取到的告警进行关联匹配,并根据匹配的结果确认故障产生的原因。

另一方面,本发明实施例还提供了一种网管系统,包括:

获取模块,用于获取网络设备上报的故障产生的告警和告警对应的相关数据;

处理模块,用于根据预设告警关联规则和告警对应的相关数据,获取并存储用于判断关联告警的告警关联关系数据,其中,关联告警包括:主告警和衍生告警;

确认模块,用于根据所述告警关联关系数据,确认获取到的告警是否为关联告警,若告警是关联告警,则对获取到的告警进行关联匹配,并根据匹配的结果确认故障产生的原因。

本发明实施例公开的告警关联方法及网管系统,通过获取网络设备上报的故障产生的告警和告警对应的相关数据;根据预设告警关联规则和告警对应的相关数据,获取并存储用于判断关联告警的告警关联关系数据;根据告警关联关系数据,确认获取到的告警是否为关联告警,若告警是关联告警,则对获取到的告警进行关联匹配,并根据匹配的结果确认故障产生的原因。本实施例通过将根据告警关联规则和告警对应的相关数据获取告警关联关系数据存储起来,避免了每次进行告警关联分析时,都需要查询数据库,并需要进行对应的计算和判断的缺点,提高了告警关联分析的效率。

本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的告警关联方法实施例一的流程图;

图2为本发明实施例提供的网管系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明实施例提供的告警关联方法实施例一的流程图,如图1所示,在实施例一中,告警关联方法具体包括以下步骤:

步骤110、获取网络设备上报的故障产生的告警和告警对应的相关数据。

本实施例的执行主体为网管系统。

具体的,网络设备上报的告警的数量为多个,多个告警中有主告警,其他告警都为主告警的衍生告警。

具体的,网管系统通过获得的设备上报的告警,采用数据结构查询语言从资源数据库中获取告警对应的相关数据,其中,告警对应的相关数据指的是资源数据库中的与网络设备相关的数据,例如,网络设备的类型、网络设备的端口以及发生故障的网络设备与其他网络设备之间的连接关系等数据。

步骤120、根据预设告警关联规则和告警对应的相关数据,获取并存储用于判断关联告警的告警关联关系数据。

具体的,在本实施例中,通过可扩展标记语言(eXtensible Markup Language,简称:XML)配置文件的方式配置告警关联规则,采用配置文件的方式可以对网络设备告警关联规则进行配置,配置后预设告警关联规则立即生效。

其中,关联告警包括:主告警和衍生告警,衍生告警为由主告警衍生得到的告警。

告警关联关系数据包括:主告警关联关系数据和衍生告警关系数据,主告警关联关系数据用于判断告警是否为主告警,衍生告警关系数据用于判断告警是否为衍生告警。

具体的,根据告警关联规则从告警对应的相关数据中提取主告警的统一资源定位符和衍生告警的统一资源定位符,然后,根据主告警的统一资源定位符、衍生告警的统一资源定位符以及告警关联规则中的数据按照告警关联关系数据的结构进行重组,生成告警关联数据。

其中,通过存储系统来存储用于判断关联告警的告警关联关系数据,可选地,存储系统可以为Key-Value储系统。当相同的网络设备下次发生告警,而告警关联规则不变,网管系统就不需要再从数据库中获取相关数据,而可以直接采用已存储在存储系统规划中的告警关联关系数据进行告警关联分析了。

步骤130、根据告警关联关系数据,确认获取到的告警是否为关联告警,若告警是关联告警,则对获取到的告警进行关联匹配,并根据匹配的结果确认故障产生的原因。。

具体的,根据告警关联关系数据,确认告警为主告警或者为衍生告警,若为主告警,则根据告警关联关系数据生成的实例数据,对获取到的告警进行关联匹配,获取主告警衍生得到的衍生告警,同理,若为衍生告警,则获取衍生告警对应的主告警,根据匹配的结果确认网络设备产生故障的原因。

另外,网管系统还可以存储告警关联关系,并将告警关联关系即主告警和由于主告警产生的衍生告警上传至客户端,使得用户能够清楚是网络设备的故障原因。

在本实施例中提供的告警关联方法,通过获取网络设备上报的故障产生的告警和告警对应的相关数据;通过配置文件的方式配置告警关联规则;根据所述告警关联规则和所述告警对应的相关数据,获取并存储用于判断关联告警的告警关联关系数据,其中,关联告警包括:主告警和衍生告警;根据告警关联关系数据,确认获取到的告警是否为关联告警,若告警是关联告警,则对获取到的告警进行关联匹配,并根据匹配的结果确认故障产生的原因。本实施例通过将根据所述告警关联规则和所述告警对应的相关数据生成用于判断关联告警的告警关联关系数据缓存或者存储起来,避免了每次针对相同的网络设备上报的告警进行告警关联分析时,都需要查询数据库,并需要进行对应的计算和判断的缺点,提高了告警关联分析的效率。

进一步地,在上述实施例一的技术方案的基础上,在实施例二中,预设告警关联规则,包括节点。

其中,预设告警关联规则是由开发人员通过设置节点的方式配置告警关联规则,节点包括:代表主告警的父节点和代表衍生告警的子节点,本实施例中主告警与衍生告警通过父子节点的方式表示他们之间的关联关系。

节点参数包括:告警类型alarm_type、告警名称alarm_type_name、告警设备类型ne_name、告警局远端标识is_local、告警产生位置position和告警超时等待时间time_out。

具体的,本发明实施例提供的告警关联规则的配置可以为:

其中,告警产生位置position若为port,则说明是端口,若为card则说明是板卡,若为Ne则说明是设备;告警局远端标识为1说明为局端,为0为说明为远端。

具体的,rule节点表示主告警节点,在例子中,主告警节点的告警类型为2039,告警名称为linkfault,也就是说连接失败,告警设备名称为iPN2100,告警局远端标识为1,告警产生位置为port,告警超时等待时间为40。在上述描述的例子中,主告警节点衍生7个衍生告警节点,其中,第一个衍生告警节点的衍生告警类型为107,告警名称为port link down,也就是说端口连接失败,告警局远端标识为1,告警产生位置为port;第二个衍生告警节点的衍生告警类型为2041,告警名称为port link down,也就是说端口连接失败,告警局远端标识为1,告警产生位置为port;第三个衍生告警节点的衍生告警类型为105,告警名称为OR_LOS,告警局远端标识为1,告警产生位置为port,依次类推,本发明实施例是以一个主告警衍生出七个衍生告警的告警关联规则为例进行说明的,还可以为一个告警衍生出N个衍生告警,其中,N为正整数,本发明实施例并不以此为限。本实施例,通过父子节点的配置文件的方式配置告警关联规则,可以使得开发维护人员能够很方便的对告警关联规则进行设置,如果需要增加新的告警关联规则,只需要在配置文件中增加对应的rule节点即可满足要求,提高了网管系统的扩展性。

进一步地,步骤120具体包括:

1)读取并解析所述预设告警关联规则中的节点,获得节点参数。

2)根据节点参数从所述告警对应的相关数据中提取主告警的统一资源定位符和衍生告警的统一资源定位符。

3)根据主告警的统一资源定位符、衍生告警的统一资源定位符和节点参数获取用于判断关联告警的告警关联关系数据。

4)存储告警关联关系数据。

具体的,在存储系统各种存储告警关联关系数据,例如可以为Key-Value存储系统。

告警关联关系数据主要包括:主告警关联关系数据和衍生告警关联关系数据。

以Key-Value存储系统为例,其中,主告警关联关系数据,用于判断告警是否为主告警,并生成主告警关联实例数据,保存方式为key-value类型数据,其中key值为“mainAlarm”标识、主告警类型、主告警统一资源定位符组成的字符串,value值为主告警下挂衍生配置告警类型、衍生告警统一资源定位符、告警关联超时等待时间组成的字符串List列表。

衍生告警关联关系数据,用于判断告警是否为衍生告警,并对主告警进行关联匹配,保存方式为key-value类型数据,其中key值为“relationAlarm”标识、衍生告警类型、衍生告警统一资源定位符组成的字符串,value值为衍生告警等待主告警超时时间。

以Key-Value存储系统为例,结合上述例子中配置的告警关联规则,描述告警关联关系数据的具体生成方式:首先,读取上述实施例中描述的告警关联规则的配置文件,首先解析rule节点,根据rule节点配置的告警设备类型ne_name、告警局远端标识is_local、告警产生位置position提取相应的主告警统一资源定位符ne;然后,通过获取的主告警统一符资源定位符ne及节点配置的告警类型组成主告警的key值,然后通过主告警统一资源定位符ne和子节点relation的告警产生位置position和告警局远端标识is_local配置参数,获取衍生告警统一资源定位符slot,通过配置的告警类型alarm_type、告警超时等待时间time_out组成相关联的衍生告警value值;最后,用key-value存储系统将以上步骤获取的主告警key值和衍生告警value值,组合成key-vlaue类型的数据进行缓存,生成主告警关联关系数据和衍生告警关联关系数据。

例如,主告警关联关系数据可以为:

KEY值:mainAlarm:21:/ne=11

Value值:

103:/ne=11/shelf=1/slot=1/card=1.1.1:2

102:/ne=11/shelf=1/slot=1/card=1.2.2:2

102:/ne=11/shelf=1/slot=1/card=1.2.3:2

101:/ne=11/shelf=1/slot=1/card=1.2.4:2

105:/ne=11/shelf=1/slot=1/card=1.2.5:2

其中,mainAlarm指的是数据类型标识,21指的是主告警类型,11指的是主告警统一资源定位符,该主告警关联关系数据为mainAlarm、21和/ne=11组成的字符串,Value值为101、102、103和105代表衍生配置告警类型,slot指的是衍生告警统一资源定位符和card=1.2.2:2代表的告警关联超时等待还见组成的5个字符串。

例如,KEY值:relationAlarm:303:/ne=11/shelf=1/slot=1/card=1.2.5

Value值:2

其中,relationAlarm中表示数据类型标识,303表示衍生告警类型,slot指的是衍生告警统一资源定位符,2指的是告警超时等待时间。

不同类型的网络设备主告警与衍生告警的关联规则各有差别,不同类型的主告警产生的衍生告警也不相同。

在告警关联规则中,主告警也可能是其它告警的衍生告警,这样就会存在多层告警关联关系,并且相同类型的主告警,在不同类型的网络环境中产生的衍生告警类型也不相同,告警关联分析需要对此种情况进行判断,做出准确的分析。

进一步地,步骤130具体可以包括:

若告警属于关联告警,则根据告警关联关系数据获取对应的告警关联实例数据。

具体的,当接收到的告警判断为关联告警后,通过从告警关联关系数据提取出来的数据包括:告警关联关系数中的value值、value值是否为匹配标识、衍生告警类型组成的数据集合作为value值,将标识接收到的告警的类型作为key值,进而对应的生成告警关联实例数据。

根据告警关联实例数据对告警进行关联匹配。

具体的,告警关联实施例数据包括:主告警关联实例数据、衍生告警映射主告警实例数据和衍生告警实施例数据。

主告警关联实例数据,用于对接收到的衍生告警进行关联匹配,匹配成功后,在相应的衍生告警上做标识,直到主告警下挂的所有衍生告警都匹配完成,删除主告警关联实例数据,并将告警关联关系入库。保存方式为key-value类型数据。

其中key值为“mainAlarmRelationObject”标识、主告警记录组成的字符串,value值为Map集合,Map的key值为衍生告警类型ID、衍生告警统一资源定位符slot组成的字符串,Map的value值为衍生告警关联匹配完成标识、衍生告警类型组成的字符串。

例如:

KEY值:mainAlarmRelationObject:10703

Value值:

Key:303:/ne=11/shelf=1/slot=1/card=1.1.1value:1:10231

Key:301:/ne=11/shelf=1/slot=1/card=1.1.2value:1:10232

Key:302:/ne=11/shelf=1/slot=1/card=1.1.3value:0:0

Key:303:/ne=11/shelf=1/slot=1/card=1.1.4value:0:0

Key:303:/ne=11/shelf=1/slot=1/card=1.1.5value:0:0

其中value:1:10231中的1表示衍生告警关联匹配完成标识,若为1,则已关联,若为0则未关联。

衍生告警映射主告警实例数据,用于衍生告警查询相关联的主告警,并进行告警关联匹配,保存方式为key-value类型数据。

其中,key值为“relationAlarmMap”标识、衍生告警类型、衍生告警统一资源定位符组成的字符串,value值为主告警类型的List列表,即10301、10502、10305、10606和10111。

例如:KEY值:relationAlarmMap303:/ne=11/shelf=1/slot=1/card=1.1.5

Value值:

10301

10502

10305

10606

10111

衍生告警实例数据,用于衍生告警已经产生,但主告警尚未产生的情况,保存方式为key-value类型数据。

其中,key值为“waitrelationAlarm”标识、衍生告警类型ID、衍生告警统一资源定位符组成的字符串,value值为衍生告警是否主告警标识(1为是,0为否)、衍生告警是否完成匹配标识(1为是,0为否)、衍生告警类型组成的字符串。

例如:KEY值:waitrelationAlarm303:/ne=11/shelf=1/slot=1/card=1.1.5

Value值:1:1:10305:10309

具体的,在本实施例中,告警的确认和匹配的过程如下:首先,判断告警是否为衍生告警,具体的,通过提取告警的告警类型和统一资源定位符,生成一条查询衍生告警的key值:“relationAlarm”标识:告警类型:统一资源定位符,通过key值到缓存中查找是否存在对应的衍生告警的关联关系数据,若存在,则说明是衍生告警,进而生成衍生告警实例数据,并将衍生告警实例数据进行缓存;若不存在,则说明告警不是衍生告警,接下来继续判断告警是否为主告警,具体的,通过提取告警的告警类型和统一资源定位符,生成一条查询主告警的key值:“mainAlarm”标识:告警类型:统一资源定位符,通过key值到缓存中查找是否存在对应的主告警的关联关系数据,若存在,则说明是主告警。则从缓存的主告警关联关系数据中提取对应的衍生告警List列表,构建主告警关联实例数据,同时迭代衍生告警List列表,从缓存的衍生告警实例数据中查询,判断衍生告警是否已经产生,如果产生则进行匹配。对于没有完成匹配的衍生告警,构建衍生告警映射主告警实例数据。若通过key值在缓存中找不多对应的主告警的关联关系数据,则从缓存的衍生告警映射主告警实例数据中查询对应的主告警类型,若找到找到对应的主告警类型,则生成Key值:“mainAlarmRelationObject:主告警类型”从缓存的主告警关联实例数据中提取衍生告警List,并对对应的衍生告警做关联匹配。若未找到对应的主告警类型,将衍生告警类型、衍生告警标识缓存到告警关联等待超时轮询服务中,进行告警关联等待超时判断。做完衍生告警匹配之后,继续对其主告警所关联的衍生告警进行遍历,并判断是否都已匹配成功。若全部匹配完成,则继续判断主告警是否是衍生告警,具体方法为查询缓存中是否存在其对应的衍生告警实例数据,如果找到,则说明该告警既是主告警也是衍生告警。对于未匹配完成缓存到告警关联等待超时轮询服务中的告警,轮询服务会定时遍历其缓存的告警,并对告警进行等待超时判断。若判断的告警关联等待已经超时,通过主、衍生告警关联标识判断告警是否主告警。若为主告警,则结束该告警的关联匹配,删除主告警关联实例数据和衍生告警关联实例数据,将主告警和衍生告警的关联关系入库,并向客户端发送消息。若为衍生告警,则将该衍生告警设置为普通告警,并上报客户端。

具体的,若匹配未完成,则将匹配未完成的告警进行存储,定时遍历匹配未完成的告警,并对匹配未完成的告警进行等待超时判断。

具体的,通过轮询器,轮询服务会定时遍历存储在告警关联定时调度器中的告警,并对告警进行超时判断,具体方式用当前时间减去告警产生时间的时间差,与配置的等待超时时间进行对比,如果比配置的时间大,则说明该告警关联等待已经超时。

另外,所述方法还包括:对匹配未完成的告警进行等待超时判断之后,所述方法还包括:

若告警已经等待超时,则对等待超时的告警进行关联匹配。

告警关联等待超时轮询服务主要对未完成关联匹配且超过告警关联等待时间的告警进行处理,主要包括:

衍生告警关联等待超时,若衍生告警等待主告警匹配超时,则将衍生告警设置为普通告警,然后进行上报。

主告警关联等待超时,若主告警等待下挂衍生告警完成匹配超时,则结束主告警的等待,将已完成匹配的衍生告警和主告警入告警关联关系表,然后上报主告警。

另外,本发明实施例中同时对一些特殊情况的告警关联做了分析处理,具体包括:

对于衍生告警存在设备脱网的主告警,由于设备脱网告警需要设备调度器去轮询设备才能产生,一般的轮询周期比较长,造成主告警与衍生告警产生的时间间隔比较长。在实例中,如果主告警匹配等待超时,其关联的设备脱网衍生告警没有产生,则系统会将设备脱网衍生告警与主告警的映射关系进行缓存,等到设备脱网衍生告警产生后,将告警关联关系追加到数据库中,并通知客户端,重新加载主告警下挂的衍生告警。

对于既是主告警又是衍生告警的告警,如果其关联的衍生告警都完成匹配,因为该告警还是其它主告警的衍生告警,所以还不能入告警关联关系表并上报客户端,系统会对该类型的告警进行缓存,缓存key值为“relationList”标识、告警类型ID、告警URL组成的字符串,value值为其所有关联的衍生告警记录ID的List列表。如果其主告警完成关联匹配,会从缓存中获取该告警的所有关联的衍生告警记录ID,并将这些衍生告警设置成其主告警的衍生告警,然后将关联关系入数据库。

本发明实施例还提供一种网管系统,图2为本发明实施例提供的网管系统的结构示意图,如图2所示,本实施例提供的网管系统,包括:获取模块210、处理模块220和确认模块230。

其中,获取模块210,用于获取网络设备上报的故障产生的告警和告警对应的相关数据;处理模块220,用于根据所述预设告警关联规则和所述告警对应的相关数据,获取并存储用于判断关联告警的告警关联关系数据,其中,关联告警包括:主告警和衍生告警;确认模块230,用于根据所述告警关联关系数据,确认获取到的告警是否为关联告警,若告警是关联告警,则对获取到的告警进行关联匹配,并根据匹配的结果确认故障产生的原因。。

本实施例中提供的网管系统与如图1所示的告警关联方法的实现原理和实现效果类似,在此不再赘述。

进一步地,在上述实施例的技术方案的基础上,所述预设告警关联规则包括节点。

其中,节点包括:代表主告警的父节点和代表衍生告警的子节点。

节点参数包括:配置告警类型、配置告警名称、配置告警设备类型、配置告警局远端标识、配置告警产生位置和配置告警超时等待时间。

另外,处理模块220,包括:读取单元,用于读取并解析告警关联规则中的节点,获取节点参数;提取单元,根据节点参数从所述告警对应的相关数据中提取主告警的统一资源定位符和衍生告警的统一资源定位符;第一获取单元,用于根据主告警的统一资源定位符、衍生告警的统一资源定位符和节点参数获取用于判断关联告警的告警关联关系数据;存储单元,存储所述告警关联关系数据。

另外,确认模块230,包括:判断单元、生成单元和匹配单元。

判断单元,用于根据所述告警关联关系数据,判断告警是否属于关联告警;第二获取单元,用于若告警属于关联告警,则根据所述告警关联关系数据获取对应的告警关联实例数据;

匹配单元,用于根据告警关联实例数据对告警进行关联匹配。

另外,处理模块220还用于若匹配未完成,则处理模块还用于将匹配未完成的告警进行存储,定时遍历匹配未完成的告警,并对匹配未完成的告警进行等待超时判断。

另外,若告警已经等待超时,则匹配单元,还用于对等到超时的告警进行关联匹配。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1