一种云环境下的告警监控方法与流程

文档序号:24345752发布日期:2021-03-19 12:29阅读:146来源:国知局
一种云环境下的告警监控方法与流程

本发明涉及云环境内分析技术领域,具体地说是一种云环境下的告警监控方法。



背景技术:

随着云服务服务的普及,越来越多的用户选择将服务上云,云平台的稳定性至关重要,统一监控管理势在必行。面对云下庞大且复杂的网络环境,在避免影响客户使用的前提下,云平台出现故障时的及时发现及时处理,以往只有当客户无法正常使用出现问题时进行反馈,运维人员才进行排查处理,并且排障定位问题过程相对复杂,无疑影响客户的用户体验以及运维人员的处理效率。因此为了快速定位云环境下的问题所在,需要对云平台进行告警监控统一纳管。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种云环境下的告警监控方法,能够有效提高告警的效率与性能,多维度分析告警,提高告警的准确性,实现基于政务云环境,多级部署,统一监管。

本发明解决其技术问题所采用的技术方案是:

一种云环境下的告警监控方法,接收各种类型告警,告警信息有效化校验,告警统一接收平台;基于数据的流式处理,将各种类型的告警信息装配,补充告警对象的信息;告警对象与告警规则进行匹配,满足规则条件执行规则动作;

进行告警分析,对告警进行收敛合并,多维度分析告警;并通知用户告警发生。

该方法基于数据的流式处理,将源源不断的告警视作数据流处理,告警对象与告警规则进行匹配,满足规则条件执行规则动作;通过告警分析,对告警进行收敛合并,多维度分析告警,提高告警的准确性。并基于政务云环境,多级部署,统一监管。

优选的,设置统一的告警api入口,用于接收各种类型的告警(具有相同或者满足要求的数据结构,并在cmdb注册该告警相关设备对象详细信息),对告警的关键字段进行有效化信息校验,对于有效告警信息,存入消息队列;对于无效告警信息,将被丢弃,并向告警发送端返回无效告警缺失的关键字段信息,以便帮助运维或者开发人员发现告警信息存在问题。

优选的,采用流式处理框架,将消息队列设为数据源;设置有告警流处理模块,从所述消息队列拉取告警信息,根据告警的关键字段,查找相关设备,通过逻辑代码实现对告警信息进行装配;

集成drools规则引擎,规则管理界面创建规则后,将规则写入规则引擎,告警信息与规则进行匹配,符合规则条件的,执行规则动作;

根据自动派单规则对告警进行规则匹配,满足规则的告警,将由告警监控系统根据规则动作将告警工单派发给相关运维人员。

进一步的,所述告警流处理模块同时接收告警信息和性能数据;

告警信息接收后,根据业务需求,通过一定代码实现业务逻辑,告警信息进行处理后,将推送至规则匹配节点,将告警信息与告警规则一一匹配,符合规则条件,将执行预先设定的规则动作,完成上述操作后,将推送至消息队列,等待进一步消费;

接收性能数据,通过用户配置的性能阈值规则,将超出阈值的性能数据的采集对象,根据一定模板生成告警信息,进行告警信息装配后,执行与告警信息接收途径相同的操作,最后推送至消息队列。

优选的,设置规则管理模块,对告警规则进行管理,用户通过设置规则的启用,引擎将启用的规则注册到工作内存中进行使用;规则设置禁用,引擎从工作内存中释放规则,实现告警规则动态插拔。

优选的,设置有告警分析模块,设置时间窗口,多维度告警关联,相关的告警合并,减少告警的消息量;为了防止告警消息轰炸,通过收敛规则,设置告警静默时间,根据告警的静默时间(用户通过规则设置),将在静默时间窗之内的告警做收敛处理;

多渠道的告警通知,帮助运维人员快速发现问题及时排查,根据用户自定义的通知规则,将满足规则条件的规则,根据指定的通知方式(邮件、企业微信、短信等),通知用户,保证用户可以及时发现设备问题;

告警分析模块根据工单派发规则,对相应的告警派发工单,记录告警从触发到解决的全过程;

告警经验库记录告警解决的方法或者告警触发原因,运维人员处理工单,将处理经验方法录入经验库,当再次派发相同类型工单时,可以参看相关经验进行解决,帮助运维人员快速解决错误;

告警分析模块将告警按一定算法放入关系型数据库以及时序型数据库进行存储。

进一步的,判断为不可靠告警,降低告警级别,并进行标注。

对于同一设备的告警,存在多种类型告警(网络通断类告警、设备端口检测告警),根据一定的拟合算法,将告警关联,确定是否需要告警通知,或者降低发送告警级别,提高告警的准确性。

优选的,该告警监控方法实现的平台多级部署,实现中心对地方告警的纳管监控;

技术组件选取flink(分布式实时计算框架),面对日益庞大的告警数据,高吞吐量、低延迟、良好的容错机制保证告警的实时性、准确性。

本发明还要求保护一种云环境下的告警监控装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行上述的方法。

本发明还要求保护一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的方法。

本发明的一种云环境下的告警监控方法与现有技术相比,具有以下有益效果:

该告警监控方法基于数据的流式处理,将源源不断的告警视作数据流处理;告警对象与告警规则进行匹配,满足规则条件执行规则动作;

技术组件选型flink,提高告警的效率与性能;

通过告警分析,对告警进行收敛合并,多维度分析告警,提高告警的准确性;

基于政务云环境,多级部署,统一监管。

附图说明

图1是本发明一个实施例提供的告警监控整体架构图;

图2是本发明一个实施例提供的告警apiproxy工作流程图;

图3是本发明一个实施例提供的告警流处理模块流程示意图;

图4是本发明一个实施例提供的告警分析模块流程示意图;

图5是本发明一个实施例提供的告警流处理核心流程示意图;

图6是本发明一个实施例提供的告警告警流处理模型。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。

本发明实施例提供一种云环境下的告警监控方法,接收各种类型告警,告警信息有效化校验,告警统一接收平台;基于数据的流式处理,将各种类型的告警信息装配,补充告警对象的信息;告警对象与告警规则进行匹配,满足规则条件执行规则动作;进行告警分析,对告警进行收敛合并,多维度分析告警;并通知用户告警发生。其实现包括:

1)、接收各种类型告警,告警信息有效化校验,告警统一接收平台;引擎设置统一的告警api入口,接收各种类型告警,对告警的关键字段进行有效化信息校验,对于有效告警信息,存入消息队列;无效告警信息,将被丢弃,并向告警发送端返回无效告警缺失的关键字段信息;

2)、告警信息装配,补充告警对象的信息,引擎采用流式处理框架,将消息队列设置为数据源,从消息队列拉取告警信息,通过代码逻辑实现对告警的信息装配;

3)、告警监控引擎根据告警规则自动派发工单,引擎根据自动派单规则对告警进行规则匹配,满足规则的告警,将由告警监控系统根据规则动作将告警工单派发给相关运维人员;

4)、告警监控引擎针对同一设备同一类型告警做收敛处理,引擎根据告警的静默时间(用户通过规则设置),将在静默时间窗之内的告警做收敛处理,防止告警消息频繁轰炸;

5)、告警通知,通知用户告警发生,引擎根据用户自定义的通知规则,将满足规则条件的规则,根据指定的通知方式(邮件、企业微信、短信等),通知用户,保证用户可以及时发现设备问题;

6)、告警规则动态插拔,通过规则管理模块,引擎对告警规则进行管理,用户通过设置规则的启用,引擎会将启用的规则注册到工作内存中进行使用;规则设置禁用,引擎会从工作内存中释放规则;

7)、告警关联,同一设备或相关告警相互关联,形成告警根因分析;引擎通过告警分析模块根据一定的拟合算法,将告警关联,确定是否需要告警通知,或者降低发送告警级别,提高告警的准确性;

8)、告警监控引擎多级部署,该告警监控方法实现的平台可以多级部署,实现中心对地方告警的纳管监控;

9)、告警提高吞吐量、降低时延,技术组件选取flink(分布式实时计算框架),面对日益庞大的告警数据,高吞吐量、低延迟、良好的容错机制保证告警的实时性、准确性。

本发明实施例还提供一种云环境下的告警监控方法,包括:

告警监控系统设置接收告警入口,用于接收各种类型的告警,在告警api处对告警信息进行有效化校验,检查业务关键字段信息是否完备,缺少关键字段信息,则无法通过校验,向告警发送方发送告警缺少字段信息的提示;通过校验的告警信息,将会被送入消息队列(nats),若消息队列因意外进程终结,告警api将未发送告警进行持久化存储;

告警流处理模块,从消息队列拉取告警信息,根据告警的关键字段,查找相关设备,对告警信息进行装配;流处理模块集成drools规则引擎,规则管理界面创建规则后,将规则写入规则引擎,告警信息与规则进行匹配,符合规则条件的,执行规则动作;

告警流处理模块,从influxdb等时序数据库根据规则拉取对象性能数据,形成符合规则的告警;

告警处理、告警分析模块业务功能解耦,中间设置消息队列,进行缓冲,减轻告警分析模块的处理压力;

告警分析模块,设置时间窗口,为了保证告警的准确性,牺牲一定的时效性,多维度告警关联,相关的告警合并,减少告警的消息量;为了防止告警消息轰炸,通过收敛规则,设置告警静默时间;多渠道的告警通知,通过邮件、短信、微信等方式,帮助运维人员快速发现问题及时排查;

告警分析模块根据工单派发规则,对相应的告警派发工单,记录告警从触发到解决的全过程;

告警经验库记录告警解决的方法或者告警触发原因,运维人员处理工单,将处理经验方法录入经验库,当再次派发相同类型工单时,可以参看相关经验进行解决,帮助运维人员快速解决错误;

告警分析模块将告警按一定算法放入关系型数据库以及时序型数据库进行存储。

如附图1所示,为告警监控整体架构,其组件包含:

消息队列nats:接收告警数据,实际生产环境每天设备运行,产生的告警数据量巨大,若没有消息队列进行缓冲,告警产生速度远远大于告警监控系统的处理速度,会导致告警系统的崩溃,引入消息队列组件目的是作为告警产生和处理的缓冲,减小系统压力。

apacheflink:当下流行的大数据分布式处理框架,采用datastream处理的方式;告警流处理模块,共两个输入源:

a、从nats拉取的告警数据,作为数据流;

b、告警规则,作为告警数据处理的依据,输入到告警处理模块;

告警处理模块采用drools进行告警数据与告警规则匹配,告警对象符合告警规则的条件下,将执行规则动作,对告警对象进行装配;告警进行一系列的处理之后,推送至消息队列。

告警分析模块:

a、设置时间窗(为了保证告警的准确性,牺牲少许实时性),时间窗为一分钟,为了保证告警关联功能的可用,告警发送程序的周期必须保持一致,告警数据批量处理,判断告警的准确性,合并告警信息;判断为不可靠告警,则降低告警级别,并进行标注;

b、所有的告警数据都将进行持久化存储;

c、告警分析模块检测到该条告警需通知现场运维人员,会形成告警通知对象,由通知中心按照通知规则去进行告警消息的发送;

d、告警信息展示,展示告警数据,将各个设备的运行情况,以大屏的形式更直观的展示给用户;

f、需要处理的告警,不仅仅只通过通知中心去通知运维人员,还会根据告警形成相应的工单,运维人员必须处理告警工单,填写经验库,经验库在完备的告警体系中,可以为无人值守、系统自愈提供数据支持。

图2为告警apiproxy工作流程图,api对告警关键字段进行有效化判断,无效告警将无效信息返回;通过有效化判断的告警,将被api推送至nats队列,供alarm-filnk模块消费。

图3是告警流处理模块流程示意图,如图所示,流处理模块可以同时接受告警信息、性能数据;

其中,告警信息接收后,根据业务需求,通过一定代码实现业务逻辑,告警信息进行处理后,将推送至规则匹配节点,引擎将告警信息与告警规则一一匹配,符合规则条件,将执行预先设定的规则动作,完成上述操作后,将推送至消息队列,等待进一步消费;

接收性能数据,通过用户配置的性能阈值规则,将超出阈值的性能数据的采集对象,根据一定模板生成告警信息,进行告警信息装配后,执行与告警信息接受途径相同的操作,最后推送至消息队列。

图4是告警分析模块流程示意图,如图所示,分析模块:

按时间窗获取告警信息,时间窗默认1min,可以用户通过管理界面设置;

告警分析通过设置的分析规则,将符合规则的告警进行合并,根据一定算法,对告警信息的准确度进行标识,供用户参考;

完成上述操作之后,所有的告警信息都将进行持久化存储,告警信息,将推送至告警大屏进行展示;

按照通知规则,将相应的告警信息生成告警对象,将通知人一同封装,发送至通知中心,由通知中心统一处理;

符合派单规则,将由引擎进行派单。

图5是告警流处理核心流程示意图,如图所示,

a、告警入规则引擎,告警符合规则条件则执行规则动作,此处规则动作仅仅对告警对象进行操作;

b、通过对告警所含的规则信息,判断告警该执行何种操作;

告警处理流程:入库过滤→重大告警→延时清除→关联清除→自动派单→前转→入库。

图6是告警流处理模型示例图:

告警流处理,组件选型为flink,如下图所示,告警流处理存在两个输入源:

告警数据源:从消息队列拉取告警信息,

规则数据源:从数据库获取规则信息。

其中alarmsource采用轮询的策略,保证到下游每个算子的告警数量大致相同;rulesource采用全分发策略,所有的规则将全部发送给下游算子;

下游rulematching算子进行告警信息装配以及告警与规则的匹配,告警在此节点完成处理后,以轮询的方式发送到下游的ruleaction算子;

ruleaction算子进行规则动作;

skin将告警输出到外部系统。

本发明实施例还提供一种云环境下的告警监控装置,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行上述任一实施例中所述的云环境下的告警监控方法。

本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明上述实施例中所述的云环境下的告警监控方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

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