本发明涉及通信领域,尤其涉及一种网元告警处理方法和装置。
背景技术:
告警是对某个特定事件的通知,通常由被管资源的实际状态与期望值之间的差异或具有特定功能的某个被管资源终止提供服务引起。对告警的处理包括明确告警的定义和分类;根据告警的不同类别采取不同的处理方案。告警的处理包括告警采集,告警解析,以及告警存储。告警采集通过简单网络管理协议(simplenetworkmanagementprotocol,snmp)实现,告警信息可以携带于snmptrap数据包中;告警解析包括告警的识别、合并和过滤等。目前这种使用snmptrap获取告警的方式,虽然能够满足企业网或城域网的告警分析,但在面对大规模网络时,无法支撑大数据的获取;且针对这种信息采集方式,其相应的告警分析一般采用事后分析的方式,告警分析的时效性较差,难以满足日常的网络维护需求。
技术实现要素:
本发明的实施例提供一种网元告警处理方法和装置,能够支持大规模网络的告警处理,提高告警处理效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种网元告警处理方法,包括:获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;数据采集节点包括docker镜像,docker镜像包括数据采集程序,数据采集程序用于获取snmptrap报文;snmptrap报文包括原始告警信息,原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid;根据多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;目标告警信息包括目标告警oid和目标参数信息;目标参数信息用于指示目标告警信息对应的告警部位;根据目标参数信息确定告警节点。
第二方面,提供一种网元告警处理装置,包括:获取模块,用于获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;数据采集节点包括docker镜像,docker镜像包括数据采集程序,数据采集程序用于获取snmptrap报文;snmptrap报文包括原始告警信息,原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid;处理模块,用于根据获取模块获取的多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;目标告警信息包括目标告警oid和目标参数信息;目标参数信息用于指示目标告警信息对应的告警部位;确定模块,用于根据处理模块确定的目标参数信息确定告警节点。
第三方面,提供一种网元告警处理装置,包括:存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当网元告警处理装置运行时,处理器执行存储器存储的计算机执行指令,以使网元告警处理装置执行如第一方面提供的网元告警处理方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面提供的网元告警处理方法。
本发明实施例提供的网元告警处理方法,包括:获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;数据采集节点包括docker镜像,docker镜像包括数据采集程序,数据采集程序用于获取snmptrap报文;snmptrap报文包括原始告警信息,原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid;根据多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;目标告警信息包括目标告警oid和目标参数信息;目标参数信息用于指示目标告警信息对应的告警部位;根据目标参数信息确定告警节点。本发明实施例的告警信息可以由数据采集程序获取,由于本发明实施例通过数据采集程序的docker镜像实现程序的部署,因此可以方便的将数据采集程序部署在多个采集节点,从而形成数据采集集群,实现大数据的采集;且本发明实施例在获取大量的告警信息后,可以根据预先设定的规则对告警信息进行聚合、过滤,减少了冗余的告警信息,从而提高了对告警信息的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网元告警处理系统的架构示意图;
图2为本发明实施例提供的一种数据采集的架构示意图;
图3为本发明实施例提供的一种数据转发的架构示意图;
图4为本发明实施例提供的一种网元告警处理方法的流程示意图之一;
图5为本发明实施例提供的一种网元告警处理方法的流程示意图之二;
图6为本发明实施例提供的一种网元告警处理方法的流程示意图之三;
图7为本发明实施例提供的一种网元告警处理方法的流程示意图之四;
图8为本发明实施例提供的一种网元告警处理装置的结构示意图之一;
图9为本发明实施例提供的一种网元告警处理装置的结构示意图之二;
图10为本发明实施例提供的又一种网元告警处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
对于告警的分类,根据通信网络特点,从影响面维度可以将告警分为无需关注告警、闪断震荡类告警和关联告警。其中,无需关注告警是指不影响终端业务,对终端无感知,且维护优先级低、恢复时间要求不高的告警;闪断振荡类告警是指具有时间相关性的告警,闪断告警是指时间短、持续闪断、反复出现的告警,振荡告警除了闪断告警特点外,在一定时间内(振荡周期)还呈现大量爆发的特点。关联告警是指具有空间相关性的告警,即由同一故障引起的在不同网元上产生的告警,与网络拓扑关系较大。对于告警的定义,不同的网元设备厂家可以对告警采用不同的定义,如告警等级、告警说明和对象标识符(objectidentifier,oid)等。
目前对于网元告警的处理包括三个方面,一是在网元设备侧,设置告警的触发机制和上报机制;二是在厂商网管侧设计不同网元设备之间的告警关联机制;三是在综合网管侧(如移动运营商提供的网管系统)对多源异构告警进行标准化处理,并进行跨专业、跨厂家的告警优化处理。现阶段对网元告警处理的方法是利用snmptrap报文接收网元发送的告警,并进行分析,具体为:数据采集程序监听指定端口(默认为162端口)的snmptrap报文,在接收到snmptrap报文后,通过解析获取告警信息,并将其存储至数据库中;告警分析则是通过对数据库中的告警信息进行聚合、过滤等操作,实现告警信息的识别。但是由于现阶段告警处理中,告警的数据采集程序和分析程序一般为单机程序,其仅能够支撑如企业网和城域网之类网元数量较少的场景下的告警处理,而无法支撑对大规模网络的告警处理;由于分析程序一般采用事后分析的方式,因此告警分析的时效性较差,且在告警分析完成后,分析结果直接存入数据库,使得第三方无法获取相关告警数据,导致告警数据的开放性较差。
本发明实施例提供一种网元告警处理系统,参见图1所示,包括数据采集层、数据转发层、数据分析层和数据存储层。
其中,数据采集层通过容器化docker技术对数据采集程序进行docker化,从而使用数据采集程序的docker镜像在各个网元部署数据采集程序,实现对数据的采集;数据采集层采集的数据可以是snmp报文、xflow日志、域名解析系统(domainnamesystem,dns)日志、认证授权计费(authentication,authorization,accounting,aaa)日志等数据,且数据采集层可以支持对城域网、骨干网和承载网等网络的数据采集。基于数据采集程序的docker镜像可以以集群的方式将数据采集程序部署在多个服务器内,实现数据的集群化采集。
数据转发层用于对数据采集层采集的数据进行转发,本发明实施例中数据转发层可以部署分布式消息中间件,该分布式消息中间件可以由kafka实现;为支持大规模网络的数据转发,这里的分布式消息中间件kafka可以以集群的方式部署,该集群内可以包括一个或多个服务器,数据采集层采集的数据可以分布式的存储至集群内的任一服务器中。
需要说明的是,对于数据采集层,基于消息中间件kafka的分布式部署方式,消息中间件kafka可以数据采集集群收集数据,通过增加采集集群的服务器数量和消息中间件kafka集群的服务器数量,可以使得网元告警处理系统支持的网元数量大大增加,且基于集群化的部署方式,便于数据采集层和数据转发层的横向拓展。
对于数据分析层,数据转发层的部署能够实现数据采集层和数据分析层的解耦,数据分析层不再对接数据采集层,而是通过统一的方式从数据转发层获取数据;且第三方仅需支持消息中间件kafka即可从数据转发层获取数据,不需要适配特定的通信协议,因而数据转发层为网元告警处理系统提供了更好的开放性服务。数据转发层的分布式消息中间件kafka能够避免因单点故障导致的网元告警处理系统不可用的问题,提高了系统的可用性。
数据分析层用于对数据采集层采集的数据进行分析处理,数据分析层可以包括数据分析模块和数据存储模块。数据分析模块包括数据预处理子模块、spark实时计算子模块和流式计算子模块,数据预处理子模块,用于根据数据分析的需要将文本格式的数据转换为程序识别的实体类对象;数据预处理子模块,还用于对数据采集层采集的数据进行聚合、过滤,减少数据分析的数据量。spark实时计算子模块,用于对预处理后的数据进行分批处理,其处理周期可以是若干秒或若干分钟等,从而实现延迟为秒级的数据实时分析,这里对数据的处理包括统计数据出现次数和数据生成时间等,该子模块可以用于对网元告警信息的分析。流式计算子模块,用于对预处理后的数据进行处理,并将处理结果存储至数据库,这里的对数据的传输包括统计数据出现次数等,该子模块可以用于对网元性能的实时监控。数据存储模块包括内存数据库、联机分析处理(on-lineanalyticalprocessing,olap)数据库和关系数据库,内存数据库,用于存储结构化或非结构化数据,其存储量受到系统内存的限制,可以支持spark实时计算子模块和流式计算子模块的查询业务;olap数据库,用于分布式地存储结构化数据,其存储量可以随着网元告警系统内集群资源的增加而增加,可以实现对存储数据的增删改查;关系数据库,用于存储结构化数据,并可对数据进行结构化查询语言(structuredquerylanguage,sql)查询,还可以用于存储聚合统计后的结果数据。需要说明的是,这里的olap数据库可以为hbase数据库,关系数据库可以为mysql数据库。
数据存储层包括联机事务处理(on-linetransactionprocessing,oltp)数据库,oltp数据库,用于分布式存储结构化数据,如分析处理完成的数据。
需要说明的是,上述网元告警处理系统采集、分析的数据可以是网元告警信息,也可以是流量分析数据等,因此上述的网元告警系统也可以运用于其他数据处理场景。上述的流式计算子模块能够在网元告警处理系统产生告警风暴时,及时对告警信息进行处理,提供告警处理的效率。告警风暴是指网元发生异常时,短时间内产生并上报大量告警,造成网管系统的告警服务器阻塞,影响其他网元的告警正常上报。
基于图1所示的网元告警处理系统,本发明实施例提供一种数据采集的架构示意图,参照图2所示,包括:网元告警处理系统、数据采集节点1、数据采集节点2、…、数据采集节点n。
网元告警处理系统,用于对数据采集节点采集的数据进行分析,确定数据关联关系;数据采集节点1、数据采集节点2、…、数据采集节点n,用于采集网元数据。这里的数据采集节点可以部署服务器内,该服务器可以通过数据采集节点的数据采集程序采集与该服务器相连的网元的告警信息、日志信息等。
需要说明的是,数据采集节点底层基于openstack架构,利用kubernetes管理部署封装有数据采集程序的docker镜像,这里的数据采集节点可以是部署有数据采集程序的服务器。
与该数据采集的架构对应的,本发明实施例还可以提供一种数据转发的架构示意图,如图3所示,包括:网元告警处理系统、数据采集节点1、数据采集节点2、…、数据采集节点n、数据转发节点1、数据转发节点2、…、数据转发节点m。
这里的网元告警处理系统、数据采集节点1、数据采集节点2、…、数据采集节点n与图1中的网元告警处理系统、数据采集节点1、数据采集节点2、…、数据采集节点n相同。数据转发节点1、数据转发节点2、…、数据转发节点m,用于分布式存储数据采集节点采集的数据,以供网元告警处理系统分析处理;数据转发节点1、数据转发节点2、…、数据转发节点m,还用于向第三方提供数据开放服务。
需要说明的是,这里的数据转发节点可以是部署有基于消息中间件kafka的服务器,可以分布式存储数据采集节点采集的数据。图3所示的数据转发架构仅为示例性的,数据转发节点也可以接收多个数据采集节点采集的数据,相应的,数据采集节点采集的数据也可以存储至多个数据转发节点。
基于上述的网元告警处理系统,本发明实施例提供一种网元告警处理方法,该方法能够适用于大规模网络的告警处理,提高告警处理效率,且便于扩展数据采集范围。如图4所示,该方法包括:
s101、获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文。
其中,数据采集节点包括docker镜像,docker镜像包括数据采集程序,数据采集程序用于获取snmptrap报文;snmptrap报文包括原始告警信息,原始告警信息包括原始告警设备互联网协议(internetprotocol,ip)地址和原始告警oid。
具体地,通信网络内的网元可以采用snmptrap报文的方式主动上报告警,这里的数据采集节点即用于接收这些网元上报的snmptrap报文。由于数据采集节点的数量可以根据通信网络内的网元数量来进行设置,因此当网元数量较多时,可以相应的增加数据采集节点数量以满足这些网元的数据采集需求。
由于不同的网元生产厂家对告警的定义可能存在不同,如告警等级、告警解释等,因此数据采集节点可以根据数据库中预存的告警定义,通过解析snmptrap报文确定这些snmptrap报文对应网元的原始告警信息,从而将其转换为标准告警信息的格式。
进一步的,确定snmptrap报文对应网元的原始告警信息可以通过snmptrap报文携带的一级oid和二级oid实现,这里的一级oid和二级oid可以是国际标准化组织协商定义的,用于指示不同的网元对象。例如,一级oid“1.3.6.1.2.1.1”用于指示系统参数,其相应的二级oid“1.3.6.1.2.1.1.1.0”用于指示获取系统基本信息;一级oid“1.3.6.1.2.1.2”用于指示网络接口,其相应的二级oid“1.3.6.1.2.1.2.1.0”用于指示网络接口的数目。
一种可能的实现方式中,snmptrap报文携带的oid也可以是各个网元生产厂家自行定义的,但需要注意的是,网元生产厂家对oid的定义还需要遵守国际标准化组织协商的规范,例如网元生产厂家定义系统参数对应的一级oid,由于该一级oid已经由国际标准化组织协商定义,因此网元生产厂家可以直接使用该oid;当网元生产厂家定义的对象未经国际标准化组织协商定义时,网元生产厂家可以自行定义其对应的oid。
数据采集节点在确定一级oid和二级oid后,可以根据一级oid和二级oid查询数据库内存储的告警定义,并将snmptrap报文携带的原始告警信息转换为标准告警信息的文本格式。这里数据采集节点查询数据库内的告警定义时,由于二级oid通常为一级oid下的具体对象,因此数据采集节点仅通过二级oid即可以在数据库内查询相应的告警定义,这里的二级oid即可以为上述原始告警信息内包括的原始告警oid。
将原始告警信息转换为标准告警信息可以依据告警参数进行,告警参数可以包括告警设备名称、设备类型、设备机型、定位信息、告警标题、告警时间、告警恢复时间、告警类型、原始告警等级、统一告警等级、告警可能原因等等,这里的定位信息用于指示告警的位置信息(如接口信息、板卡信息),告警标题用于指示告警的简要信息,告警时间用于指示告警信息产生的时间,告警恢复时间用于指示告警恢复信息产生的时间,告警类型用于指示无需关注告警、闪断震荡类告警和关联告警(也可以是本领域技术人员设置的其他告警类型),原始告警等级用于指示告警信息对应各个网元生产厂家制定的告警等级,统一告警等级用于指示告警信息对应国际标准化组织协商定义的告警等级,告警可能原因用于指示产生告警信息的可能原因。
各个snmptrap报文携带的原始告警信息可能包括上述告警参数中的一个或多个,数据采集节点可以将上述告警参数中的一个或多个参数进行组合形成标准告警信息的统一格式。如下表1所示,标准告警信息可以包括设备类型、告警名称、告警等级、告警设备ip地址、告警描述等等。
表1
需要说明的是,本步骤的告警信息采集和告警信息标准化可以由图1所示的数据采集层实现。本发明实施例中的数据采集节点的功能实际是由数据采集程序实现的,而在数据采集节点部署数据采集程序则是通过封装有数据采集程序的docker镜像实现,通过docker镜像部署数据采集程序的过程为本领域惯用的技术手段,在此不再对该过程赘述。但需要注意的是,本发明实施例中还需要为数据采集程序配置数据库,用于存储各个网元生产厂家对网元的告警定义,在对告警定义进行增删改查操作时,通过该配置的数据库即可实现,不再需要对数据采集程序进行操作。由于数据采集程序配置有数据库,因此在对数据采集程序进行docker化操作时,还需要对配置的数据库进行docker操作,分别生成封装有数据采集程序和数据库的docker镜像。
数据采集程序还配置有配置文件,用于对数据采集程序进行初始化。数据采集程序可以通过监听162端口接收snmptrap报文,该162端口可以映射至物理服务器端口,数据采集程序的配置文件则可以映射为该物理服务器上的文件。端口和配置文件的映射可以由本领域技术人员在生成容器时自行设置,当数据采集程序升级时,仅通过替换数据采集程序的镜像文件即可实现,而端口映射和配置文件映射可以保持不变。同样的,数据采集程序配置的数据库,以及数据库配置的初始化文件也均可以生成镜像文件,并映射为服务器上的文件,从而为数据采集程序提供服务;数据库的升级也可以通过替换相应的镜像文件实现。由于数据采集程序和数据库的容器可以分别生成,且数据采集程序的容器和数据库的容器可以采用不同的端口和文件映射,因此可以在同一台物理服务器部署多个采集实例,且这些采集实例互不影响,充分利用了物理服务器的性能;当然,采集实例也可以部署在不同的物理服务器上。
s102、根据多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息。
其中,目标告警信息包括目标告警oid和目标参数信息;目标参数信息用于指示目标告警信息对应的告警部位。
具体地,这里的对原始告警信息的分析处理可以通过spark框架实现,该步骤具体可以由图1所示的数据分析层的数据分析模块实现。数据采集节点将告警信息转换为标准告警信息后,可以包括表1所示的参数,还可以包括其他参数,如告警oid等。例如,标准告警信息包括的参数还可以如下表2所示:
表2
数据分析模块获取数据采集层转换的标准告警信息后,由于该标准告警信息为文本格式,因此可以由数据分析模块中的数据预处理子模块对该文本格式的标准告警信息进行格式转换,使得数据分析层的数据分析程序能够识别的实体对象。例如,标准告警信息如上表2所示时,数据预处理子模块转换的实体对象可以如下所示:
数据预处理子模块将文本格式的标准告警信息转换为实体类字段的过程可以通过spark的map函数实现。完成标准告警信息的格式转换后,即可以对所有的原始告警信息进行处理,以减少后续数据分析时的数据量,提高数据处理效率。
需要说明的是,步骤s101中原始告警信息中的原始告警设备ip地址和原始告警oid即为表2中的告警设备ip地址和告警oid。下面本实施例仍以原始告警信息指代转换后的标准告警信息。
可选的,第一规则包括第一聚合子规则和第一过滤子规则,如图5所示,步骤s102包括;
s1021、根据多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一聚合子规则确定至少一条第一告警信息。
其中,第一告警信息包括第一告警等级。
具体地,数据采集节点可以采集大量的原始告警信息,在对这些原始告警信息进行标准化并转换为数据分析程序识别的实体对象后,可以根据多种规则实现原始告警信息的约简,以提高告警处理效率。对原始告警信息的约简可以根据相应的规则进行聚合、过滤等操作,例如,第一规则可以包括第一聚合子规则,第一聚合子规则用于将相同网元产生的相同的原始告警信息聚合为一条第一告警信息。进一步的,第一聚合子规则可以根据原始告警信息携带的原始告警设备ip地址、原始告警oid、原始告警标题等参数将相同网元产生的相同的原始告警信息聚合为一条第一告警信息。
示例性的,若第一条原始告警信息的实体对象如下所示:
第二条原始告警信息的实体对象如下所示:
第三条原始告警信息的实体对象如下所示:
上述展示了第一条、第二条和第三条原始告警信息的部分实体对象,但本领域的技术人员可以根据第一聚合子规则识别出第一条原始告警信息和第二条原始告警信息是由同一个网元生成的相同的原始告警信息,因此数据预处理子模块可以将第一条原始告警信息和第二条原始告警信息聚合为一条第一告警信息;而第三条原始告警信息虽然和第一条原始告警信息的部分告警参数相同,但根据其告警设备ip地址可以确定这两条原始告警信息是由不同的网元生成的,因此这两条原始告警信息无法聚合。
同样的,数据预处理子模块可以通过遍历所有的原始告警信息实现原始告警信息的聚合,从而确定至少一条第一告警信息。
需要说明的是,上述的第一聚合子规则仅为示例性的,本领域的技术人员可以根据需要对其进行设置,从而将原始告警信息聚合为不同的第一告警信息。数据预处理子模块对原始告警信息的聚合可以通过spark的reduce函数实现。
s1022、根据至少一条第一告警信息对应的第一告警等级,依据第一过滤子规则确定至少一条目标告警信息。
具体地,告警信息的告警等级可以包括警告告警、次要告警、重大告警和严重告警等,由于不同告警等级的告警信息对网元及通信网络产生的影响不同,因此可以根据告警信息的告警等级过滤一些未对网元和通信网络产生影响的告警信息。当然,告警信息的告警等级也可以用一级告警、二级告警、三级告警等表示,其中一级告警对应的告警信息对网元和通信网络产生的影响最小,告警等级越高则相应的告警信息对网元和通信网络产生的影响越大。
这里的第一过滤子规则可以为根据第一告警信息对应的告警等级,将一级告警对应的第一告警信息过滤掉,而保留二级告警以上告警对应的第一告警信息,经过第一过滤子规则过滤后的第一告警信息即可以确定为目标告警信息。
示例性的,若第一条第一告警信息的实体对象如下所示:
第二条第一告警信息的实体对象如下所示:
根据上述第一条第一告警信息和第二条第一告警信息的告警等级,数据预处理子模块即可以将第一条第一告警信息过滤,而保留第二条第一告警信息,即将第二条第一告警信息确定为目标告警信息。同样的,数据预处理子模块可以通过遍历所有的第一告警信息实现第一告警信息的过滤,从而确定至少一条目标告警信息。
需要说明的是,与原始告警信息的聚合不同,本步骤中对第一告警信息过滤时的第一过滤子规则可以由数据预处理子模块从关系数据库获取,并通过广播变量的方式将第一过滤子规则发送给spark的相应worker节点,由spark通过filter函数实现对第一告警信息的过滤。这里的关系数据库可以是图1所示的数据分析层中数据存储模块内的关系数据库。
s103、根据目标参数信息确定告警节点。
具体地,这里的目标参数信息与上述的告警参数相同,可以包括定位信息、告警标题、告警时间、告警恢复时间、告警类型等。根据目标参数信息内的告警设备ip地址可以确定告警的网元,根据目标告警oid可以确定具体的告警系统,如网络接口、中央处理器(centralprocessingunit,cpu)及负载等,根据定位信息可以确定具体地告警部位。这里的告警节点是指网元、接口或板卡等,确定告警节点即确定目标告警信息为网元告警、接口告警或板卡告警等。
示例性的,若目标参数信息的实体对象如下所示:
根据该目标参数信息的实体对象即可以确定告警节点为ip地址1.2.1.0对应网元的3055端口。
该步骤可以由图1中的spark实时计算子模块通过map函数实现。同样的,spark实时计算子模块可以通过遍历所有的目标告警信息实现目标告警信息的分类,各个目标告警信息对应的告警节点。
本发明实施例的告警信息可以由数据采集程序获取,由于本发明实施例通过数据采集程序的docker镜像实现程序的部署,因此可以方便的将数据采集程序部署在多个采集节点,从而形成数据采集集群,实现大数据的采集;且本发明实施例在获取大量的告警信息后,可以根据预先设定的规则对告警信息进行聚合、过滤,减少了冗余的告警信息,从而提高了对告警信息的处理效率。
可选的,第一规则还包括告警配对子规则,如图6所示,在步骤s1022之后,还可以包括:
s1023、确定目标时间段内的目标告警信息。
具体地,上述步骤s1021-s1022处理的原始告警信息为一次采集周期内获得的数据,如采集周期为2s,则这些原始告警信息为2s内所有数据采集节点采集的原始告警信息。当本领域技术人员需要分析目标时间段内网元的原始告警信息时,可以通过流式计算子模块获取数据预处理子模块处理后的原始告警信息,也可以获取数据采集节点采集的原始告警信息,并通过上述的第一聚合子规则和第一过滤子规则对这些告警信息进行处理(处理后的原始告警信息和原始告警信息),从而完成对告警信息的约简,提高后续告警信息分析的效率。
需要注意的是,这里的目标时间段可以由本领域的技术人员自行设置,如目标时间段可以是10min等等,其处理的原始告警信息可以是步骤s1022处理后的原始告警信息,也可以是数据采集节点采集的原始告警信息,通过对目标时间段内的告警信息进行处理可以确定网元产生告警与时间之间的关系,如在第一时间产生的告警信息较多,则可以重点分析该时间的网元故障情况。
流式计算子模块获取目标时间段的告警信息可以通过window函数实现,且在聚合已处理的原始告警信息和数据采集节点采集的原始告警信息时,可以通过reduce函数再次对告警信息进行聚合,减少数据分析的数据量。这里的流式计算子模块即图1所示的流式计算子模块。
s1024、根据至少一条第一告警信息之间的对应关系,依据告警配对子规则确定至少一个告警事件。
其中,告警事件包括目标告警信息,或,目标告警信息和目标告警恢复信息。
具体地,这里的告警事件是指一次完整的告警过程,包括告警信息和该告警信息对应的告警恢复信息;当然,在告警未恢复时,告警事件可以仅包括告警信息。告警配对子规则可以根据告警的类型包括多种,但配对的告警信息和告警恢复信息之间存在告警触发与告警恢复的对应关系,例如,接口down和接口up对应的告警信息配对,cpu利用率超阈值和cpu利用率降至阈值对应的告警信息配对等。
这里的告警配对子规则可以由spark实时计算子模块从关系数据库获取,并通过广播变量的方式将告警配对子规则发送给spark的相应worker节点,由spark通过map函数对告警信息和告警恢复信息进行标签,并通过repartitionandsortwithinpartition函数和mappartition函数将告警信息和对应的告警恢复信息进行配对,从而确定一个个告警事件。当然,在告警信息不存在对应的告警恢复信息时,也可以将单独的告警信息确定为告警事件。这里的关系数据库也可以是图1所示的数据分析层中数据存储模块内的关系数据库。
需要说明的是,步骤s1024可以是在步骤s1023之后执行,也可以在步骤s1022之后执行,本领域的技术人员可以根据需要设置。当s1024在s1023之后执行时,该步骤可以由流式计算子模块执行;当s1024在s1022之后执行时,该步骤可以由spark实时计算子模块执行。
本实施例中,通过步骤s1023可以约简一段时间内的原始告警信息,提高后续分析该一段时间段内的原始告警信息的效率,确定不同告警在时间上的关联;通过步骤s1024可以建立告警信息与告警恢复信息之间的对应关系,后续不再需要对已恢复的告警进行分析,可以进一步提高告警信息的分析效率。
可选的,如图7所示,在步骤s101之后,还包括:
s201、将原始告警信息存储至消息中间件。
具体地,这里的消息中间件即图1所示的数据转发层中的消息中间件,由于该消息中间件为分布式存储系统,因此可以随原始告警信息的增加而扩展消息中间件的存储空间。同时,该消息中间件可以对外提供数据接口,使得第三方信息处理商可以直接接入该消息中间件的数据接口,获取相关的原始告警信息,能够避免重复采集原始告警信息的过程。
在步骤s1021之后,还包括:
s301、将至少一条第一告警信息存储至第一数据库。
具体地,这里的第一数据库可以为图1所示的数据存储模块中的内存数据库,在步骤s1021确定第一告警信息后,可以通过序列化的方式将第一告警信息存储至该内存数据库,当后续分析时,若需要获取同一条第一告警信息,则可以直接从该内存数据获取,避免了重复对第一告警信息的前置处理。
一种可能的实现方式中,步骤s1021之后,还可以将第一告警信息转换为dataframe格式,并将该dataframe格式的第一告警信息以持久化的方式存储至olap数据库,以供其他离线数据分析程序和在线数据分析程序使用,如上述步骤s1023获取的处理后的原始告警信息。这里的olap数据库即图1所示的数据存储模块中的olap数据库,olap数据库可以支持高速写入,且数据压缩率高,读取大量数据时能够有效利用数据的连续性,减少磁盘开销。
一种可能的实现方式中,步骤s103或s1024之后,还可以包括:
s104、存储分析结果。
具体地,这里的分析结果可以是步骤s103确定的告警节点,也可以是步骤s1024确定的告警事件,该分析结果可以存储至oltp数据库。需要注意的是,这里的分析结果同样需要转换为dataframe格式后再以持久化的方式存储至oltp数据库,该oltp数据库即图1所示的数据存储层的oltp数据库。
本发明实施例提供的网元告警处理方法,包括:获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;数据采集节点包括docker镜像,docker镜像包括数据采集程序,数据采集程序用于获取snmptrap报文;snmptrap报文包括原始告警信息,原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid;根据多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;目标告警信息包括目标告警oid和目标参数信息;目标参数信息用于指示目标告警信息对应的告警部位;根据目标参数信息确定告警节点。本发明实施例的告警信息可以由数据采集程序获取,由于本发明实施例通过数据采集程序的docker镜像实现程序的部署,因此可以方便的将数据采集程序部署在多个采集节点,从而形成数据采集集群,实现大数据的采集;且本发明实施例在获取大量的告警信息后,可以根据预先设定的规则对告警信息进行聚合、过滤,减少了冗余的告警信息,从而提高了对告警信息的处理效率。
如图8所示,本发明实施例提供一种网元告警处理装置40,包括:
获取模块401,用于获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;数据采集节点包括docker镜像,docker镜像包括数据采集程序,数据采集程序用于获取snmptrap报文;snmptrap报文包括原始告警信息,原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid。
处理模块402,用于根据获取模块401获取的多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;目标告警信息包括目标告警oid和目标参数信息;目标参数信息用于指示目标告警信息对应的告警部位。
确定模块403,用于根据处理模块402确定的目标参数信息确定告警节点。
可选的,第一规则包括第一聚合子规则和第一过滤子规则。处理模块402,具体用于:根据多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一聚合子规则确定至少一条第一告警信息;第一告警信息包括第一告警等级;根据至少一条第一告警信息对应的第一告警等级,依据第一过滤子规则确定至少一条目标告警信息。
可选的,第一规则还包括告警配对子规则。处理模块402,还用于根据至少一条第一告警信息之间的对应关系,依据告警配对子规则确定至少一个告警事件;告警事件包括目标告警信息,或,目标告警信息和目标告警恢复信息。
可选的,如图9所示,网元告警处理装置40还包括第一存储模块404、第二存储模块405和第三存储模块406。
第一存储模块404,用于将至少一条第一告警信息存储至第一数据库。
第二存储模块405,用于将原始告警信息存储至消息中间件。
第三存储模块406,用于存储告警节点对应的信息。
本发明实施例提供的网元告警处理装置,包括:获取模块,用于获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;数据采集节点包括docker镜像,docker镜像包括数据采集程序,数据采集程序用于获取snmptrap报文;snmptrap报文包括原始告警信息,原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid;处理模块,用于根据获取模块获取的多条原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;目标告警信息包括目标告警oid和目标参数信息;目标参数信息用于指示目标告警信息对应的告警部位;确定模块,用于根据处理模块确定的目标参数信息确定告警节点。本发明实施例的告警信息可以由数据采集程序获取,由于本发明实施例通过数据采集程序的docker镜像实现程序的部署,因此可以方便的将数据采集程序部署在多个采集节点,从而形成数据采集集群,实现大数据的采集;且本发明实施例在获取大量的告警信息后,可以根据预先设定的规则对告警信息进行聚合、过滤,减少了冗余的告警信息,从而提高了对告警信息的处理效率。
参照图10所示,本发明实施例还提供另一种网元告警处理装置,包括存储器51、处理器52、总线53和通信接口54;存储器51用于存储计算机执行指令,处理器52与存储器51通过总线53连接;当网元告警处理装置运行时,处理器52执行存储器51存储的计算机执行指令,以使网元告警处理装置执行如上述实施例提供的网元告警处理方法。
在具体的实现中,作为一种实施例,处理器52(52-1和52-2)可以包括一个或多个cpu,例如图10中所示的cpu0和cpu1。且作为一种实施例,网元告警处理装置可以包括多个处理器52,例如图10中所示的处理器52-1和处理器52-2。这些处理器52中的每一个cpu可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。这里的处理器52可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器51可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器51可以是独立存在,通过总线53与处理器52相连接。存储器51也可以和处理器52集成在一起。
在具体的实现中,存储器51,用于存储本申请中的数据和执行本申请的软件程序对应的计算机执行指令。处理器52可以通过运行或执行存储在存储器51内的软件程序,以及调用存储在存储器51内的数据,网元告警处理装置的各种功能。
通信接口54,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。通信接口54可以包括接收单元实现接收功能,以及发送单元实现发送功能。
总线53,可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponentinterconnect,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。该总线53可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的网元告警处理方法。
本发明实施例还提供一种计算机程序,该计算机程序可直接加载到存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述实施例提供的网元告警处理方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
1.一种网元告警处理方法,其特征在于,包括:
获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;所述数据采集节点包括docker镜像,所述docker镜像包括数据采集程序,所述数据采集程序用于获取所述snmptrap报文;所述snmptrap报文包括原始告警信息,所述原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid;
根据多条所述原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;所述目标告警信息包括目标告警oid和目标参数信息;所述目标参数信息用于指示所述目标告警信息对应的告警部位;
根据所述目标参数信息确定告警节点。
2.根据权利要求1所述的网元告警处理方法,其特征在于,所述第一规则包括第一聚合子规则和第一过滤子规则;所述根据多条所述原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息包括:
根据多条所述原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一聚合子规则确定至少一条第一告警信息;所述第一告警信息包括第一告警等级;
根据至少一条所述第一告警信息对应的第一告警等级,依据第一过滤子规则确定至少一条所述目标告警信息。
3.根据权利要求2所述的网元告警处理方法,其特征在于,所述第一规则还包括告警配对子规则;所述根据至少一条所述第一告警信息对应的第一告警等级,依据第一过滤子规则确定至少一条所述目标告警信息之后,还包括:
根据至少一条所述第一告警信息之间的对应关系,依据告警配对子规则确定至少一个告警事件;所述告警事件包括所述目标告警信息,或,所述目标告警信息和目标告警恢复信息。
4.根据权利要求2所述的网元告警处理方法,其特征在于,所述根据多条所述原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一聚合子规则确定至少一条第一告警信息之后,还包括:
将至少一条所述第一告警信息存储至第一数据库。
5.根据权利要求3或4所述的网元告警处理方法,其特征在于,所述获取数据采集节点接收的多条snmptrap报文之后,还包括:
将所述原始告警信息存储至消息中间件。
6.一种网元告警处理装置,其特征在于,包括:
获取模块,用于获取数据采集节点接收的多条简单网络管理协议陷阱snmptrap报文;所述数据采集节点包括docker镜像,所述docker镜像包括数据采集程序,所述数据采集程序用于获取所述snmptrap报文;所述snmptrap报文包括原始告警信息,所述原始告警信息包括原始告警设备互联网协议ip地址和原始告警对象标识符oid;
处理模块,用于根据所述获取模块获取的多条所述原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一规则确定至少一条目标告警信息;所述目标告警信息包括目标告警oid和目标参数信息;所述目标参数信息用于指示所述目标告警信息对应的告警部位;
确定模块,用于根据所述处理模块确定的所述目标参数信息确定告警节点。
7.根据权利要求6所述的网元告警处理装置,其特征在于,所述第一规则包括第一聚合子规则和第一过滤子规则;所述处理模块,具体用于:
根据多条所述原始告警信息对应的原始告警oid和原始告警设备ip地址,依据第一聚合子规则确定至少一条第一告警信息;所述第一告警信息包括第一告警等级;
根据至少一条所述第一告警信息对应的第一告警等级,依据第一过滤子规则确定至少一条所述目标告警信息。
8.根据权利要求7所述的网元告警处理装置,其特征在于,所述第一规则还包括告警配对子规则;所述处理模块,还用于根据至少一条所述第一告警信息之间的对应关系,依据告警配对子规则确定至少一个告警事件;所述告警事件包括所述目标告警信息,或,所述目标告警信息和目标告警恢复信息。
9.根据权利要求7所述的网元告警处理装置,其特征在于,还包括第一存储模块;
所述第一存储模块,用于将至少一条所述第一告警信息存储至第一数据库。
10.根据权利要求8或9所述的网元告警处理装置,其特征在于,还包括第二存储模块;
所述第二存储模块,用于将所述原始告警信息存储至消息中间件。
11.一种网元告警处理装置,其特征在于,包括存储器、处理器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接;当所述网元告警处理装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述网元告警处理装置执行如权利要求1-5任一项所述的网元告警处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的网元告警处理方法。
技术总结