CN107579854A - 一种集群告警方法、装置、设备和计算机可读存储介质 - Google Patents
一种集群告警方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107579854A CN107579854A CN201710854598.4A CN201710854598A CN107579854A CN 107579854 A CN107579854 A CN 107579854A CN 201710854598 A CN201710854598 A CN 201710854598A CN 107579854 A CN107579854 A CN 107579854A
- Authority
- CN
- China
- Prior art keywords
- alarm
- queue
- subscription
- subscription information
- submodule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Alarm Systems (AREA)
Abstract
本发明实施例公开了一种集群告警方法、装置、设备和计算机可读存储介质,集群告警系统将接收到的订阅信息保存至预先设置的订阅队列中,接收各个检测模块发送的告警事件。将告警事件按照预设格式封装成告警对象,并将告警对象保存至预先设置的告警队列中;判断第一告警对象是否满足第一预设条件;若是,则从告警队列中删除第一告警对象;若否,则轮询订阅队列中保存的每条订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至第一订阅信息中包括的告警接收端地址指向的接收端。通过轮询订阅信息的方式,可以将告警对象依次按照不同类型的告警方式进行告警通知,最大程度的满足客户的需求。
Description
技术领域
本发明涉及集群监控技术领域,特别是涉及一种集群告警方法、装置、设备和计算机可读存储介质。
背景技术
当今社会,谁掌握了大数据谁就掌控了互联网的今天。服务器、存储设备集群承担了大数据的存储业务。大数据如此重要,就要求对服务器和存储设备集群进行实时监控,保证这些设备出现故障时能被及时发现,以保证其数据安全和服务性能。因此,高效的集群告警方法也应运而生。
目前,集群告警通知方式多种多样,例如电子邮件(Email)、基于简单网络管理协议(Simple Network Management Protocol,SNMP)的SNMP TRAP、基于表述性状态传递(Representational State Transfer,REST)的RESTful等;也有多种告警发送模式,例如发送一次、发送3次、在一段时间内一直发送告警等。传统方式中,一个告警方法往往只能实现一种告警发送模式,无法在一个告警方法中实现所有的告警发送模式。在实际应用中客户可能会要求集群告警能很好的融入自己的系统,可能会提出新的告警通知方式和告警发送模式。而传统方式中,由于一个告警方法中实现的告警模式比较单一,往往不能满足客户的需求。
可见,如何设定全面的告警模式,最大程度的满足客户的需求,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种集群告警方法、装置、设备和计算机可读存储介质,可以设定全面的告警模式,最大程度的满足客户的需求。
为解决上述技术问题,本发明实施例提供一种集群告警方法,包括:
将接收到的订阅信息保存至预先设置的订阅队列中;其中,所述订阅信息包括告警通知方式、告警模式和告警接收端地址;
接收各个检测模块发送的告警事件;其中,所述告警事件中携带有告警级别、告警源标识和辅助信息;
将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;
判断第一告警对象是否满足第一预设条件;其中,所述第一告警对象为所述告警队列中的任意一个告警对象;
若是,则从所述告警队列中删除所述第一告警对象;
若否,则轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端;其中,所述第一订阅信息为所述订阅队列中的任意一条订阅信息。
可选的,所述将接收到的订阅信息保存至预先设置的订阅队列中包括:
接收用户发送的订阅信息;
判断所述订阅信息中携带的类型信息是否属于订阅类型;
若是,则锁定预先设置的订阅队列,将所述订阅信息保存至所述订阅队列中,并解锁所述订阅队列。
可选的,还包括:
当所述类型信息不属于订阅类型时,则判断所述类型信息是否属于删除类型;
若是,则将所述订阅信息包括的告警通知方式、告警模式和告警接收端地址作为联合主键,从所述订阅队列中查询是否存在与所述联合主键匹配的订阅信息;
若存在与所述联合主键匹配的订阅信息,则将所述订阅信息从所述订阅队列中删除。
可选的,所述将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中包括:
在所述告警事件中添加告警发送时间间隔、已发送次数、允许发送次数、第一次发送时间、允许发送时长和最近一次发送时间,构成告警对象;
锁定告警队列,依据告警源标识,判断所述告警队列中是否存在与所述告警对象相同的目标告警对象;
若是,则将所述告警队列中的所述目标告警对象更新为所述告警对象;
若否,则将所述告警对象保存至所述告警队列中。
本发明实施例还提供了一种集群告警装置,包括订阅模块、收集模块、处理模块和发送模块;
所述订阅模块,用于将接收到的订阅信息保存至预先设置的订阅队列中;其中,所述订阅信息包括告警通知方式、告警模式和告警接收端地址;
所述收集模块,用于接收各个检测模块发送的告警事件;其中,所述告警事件中携带有告警级别、告警源标识和辅助信息;
所述处理模块,用于将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;
所述处理模块还用于判断第一告警对象是否满足第一预设条件;若是,则从所述告警队列中删除所述第一告警对象;其中,所述第一告警对象为所述告警队列中的任意一个告警对象;
若否,则触发所述发送模块,所述发送模块,用于轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端;其中,所述第一订阅信息为所述订阅队列中的任意一条订阅信息。
可选的,所述订阅模块包括接收子模块、判断子模块和保存子模块;
所述接收子模块,用于接收用户发送的订阅信息;
所述判断子模块,用于判断所述订阅信息中携带的类型信息是否属于订阅类型;
若是,则触发所述保存子模块,所述保存子模块,用于锁定预先设置的订阅队列,将所述订阅信息保存至所述订阅队列中,并解锁所述订阅队列。
可选的,所述订阅模块还包括查询子模块和删除子模块;
所述判断子模块,还用于当所述类型信息不属于订阅类型时,则判断所述类型信息是否属于删除类型;
若是,则触发所述查询子模块,所述查询子模块,用于将所述订阅信息包括的告警通知方式、告警模式和告警接收端地址作为联合主键,从所述订阅队列中查询是否存在与所述联合主键匹配的订阅信息;
所述删除子模块,用于若存在与所述联合主键匹配的订阅信息,则将所述订阅信息从所述订阅队列中删除。
可选的,所述处理模块包括添加子模块、判断子模块、更新子模块和保存子模块;
所述添加子模块,用于在所述告警事件中添加告警发送时间间隔、已发送次数、允许发送次数、第一次发送时间、允许发送时长和最近一次发送时间,构成告警对象;
所述判断子模块,用于锁定告警队列,依据告警源标识,判断所述告警队列中是否存在与所述告警对象相同的目标告警对象;
若是,则触发所述更新子模块,所述更新子模块,用于将所述告警队列中的所述目标告警对象更新为所述告警对象;
若否,则触发所述保存子模块,所述保存子模块,用于将所述告警对象保存至所述告警队列中。
本发明实施例还提供了一种集群告警设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述集群告警方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有集群告警程序,所述集群告警程序被处理器执行时实现如上述集群告警方法的步骤。
由上述技术方案可以看出,集群告警系统将接收到的订阅信息保存至预先设置的订阅队列中,接收各个检测模块发送的告警事件,为了便于后续对告警事件的进行告警通知,需要先将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;判断所述告警队列中的任意一个告警对象即第一告警对象是否满足第一预设条件;当满足预设条件时,则说明已经完成了对该告警对象的告警通知,此时可以从告警队列中删除第一告警对象;当不满足预设条件时,则轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端。通过轮询订阅信息的方式,可以将告警对象依次按照不同类型的告警方式进行告警通知,最大程度的满足客户的需求。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种集群告警方法的流程图;
图2为本发明实施例提供的一种对订阅信息进行保存、删除的方法的流程图;
图3为本发明实施例提供的一种对告警事件进行封装保存的方法的流程图;
图4为本发明实施例提供的一种集群告警装置的结构示意图;
图5为本发明实施例提供的一种集群告警设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种集群告警方法。图1为本发明实施例提供的一种集群告警方法的流程图,该方法包括:
S101:将接收到的订阅信息保存至预先设置的订阅队列中。
订阅信息可以用于表示告警系统进行告警提示的类型。订阅队列(SubscriptionQueue)可以用于表示集群告警系统中存储订阅信息的存储空间。
其中,在所述订阅信息中可以包括告警通知方式、告警模式和告警接收端地址。为了订阅信息的更加完善,也可以根据需求设置订阅信息中包括的信息形式,在本发明实施例中对于订阅信息中包括的信息形式不做具体限定。
告警通知方式(notifyType)用于指示将告警事件以什么样的形式发送给用户,例如EMail、SNMP TRAP、RESTful等方式。
告警模式(mode)可以用于表示进行告警提示的具体方式,在本发明实施例中,可以根据用户需求设定告警模式的种类。
下面将以两种类型的告警模式为例展开介绍。第一种告警方式可以是以告警对象(错误日志)发送的次数为依据进行告警,具体的可以每次间隔固定时间发送一次告警,直至达到预设的次数则停止告警。第二种方式可以每次间隔固定时间发送一次告警,从第一次发送开始计时,直至达到预设的时长则停止告警。为后续介绍方便,在本发明实施例中可以用M_COUNT表示第一种告警模式,用M_DURATION表示第二种告警模式。
集群告警系统可以依据告警接收端地址(destAddress)查找到对应的接收端,并通过网络向对应的接收端发送告警对象。
用户可以根据实际需求设置订阅信息的具体内容,根据需求的不同可以设置多条订阅信息。一条订阅信息可以代表一种类型的告警方式,即集群告警系统通过何种告警通知方式、告警模式向告警接收端地址对应的接收端发送告警信息。
S102:接收各个检测模块发送的告警事件。
检测模块可以用于实时监测集群系统中各部件的运行状态,当出现异常时则发送告警事件。
其中,在所述告警事件(Event)中可以携带有告警级别、告警源标识和辅助信息。
告警级别(level)可以用于表示告警事件进行告警提示的优先级,例如information、warning、critical等,本发明实施例对此不做限定。
告警源标识(sourceId)可以用于识别告警源,例如集群中风扇模块中风扇1的转速超过告警阈值时,sourceId可以取值“fan_1_speed”。其中,sourceId必须在集群内唯一。
辅助信息可以用于表示除了告警级别和告警源标识外的其它告警事件信息,例如事件ID、告警内容等,本发明实施例对此不做限定。
S103:将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中。
为了便于集群告警系统对告警事件进行后续告警处理,需要先将告警事件按照预设格式进行封装。在本发明实施例中,可以将封装后的告警事件称作告警对象,告警队列可以用于表示集群告警系统中存储告警对象的存储空间。
依据上述S101介绍的两种告警模式,相应的,可以在对告警事件进行封装时添加发送次数、发送时间等相关信息,例如,告警发送时间间隔(interval)、已发送次数(currCount)、允许发送次数(count)、第一次发送时间(firstTime)、允许发送时长(duration)、最近一次发送时间(currTime)等信息。对于告警事件的具体封装和保存过程,将在图3所示的后续内容中展开介绍,在此不再赘述。
S104:判断第一告警对象是否满足第一预设条件。
第一预设条件可以是针对告警对象是否完成告警通知的判定条件。
以告警队列中的任意一个告警对象即第一告警对象为例,结合上述介绍中的两种告警模式,第一预设条件可以是第一告警对象的已发送次数大于等于允许发送次数,并且第一告警对象的最近一次发送时间与第一次发送时间的差值大于等于允许发送的时长。从而保证无论告警对象是M_COUNT类型还是M_DURATION类型的告警,都已近达到最大发送限制,不会再被发送。
当第一告警对象满足第一预设条件时,则说明第一告警对象已经完成了告警通知,则执行S105;当第一告警对象不满足第一预设条件时,则说明需要对第一告警对象进行告警通知,则执行S106。
在保存告警对象时,可以先锁定告警队列,从而避免对该告警队列的多线程操作。在未进行告警对象的告警通知之前,集群告警系统可以将firstTime默认为零,当进行告警对象的第一次发送时,则将第一次发送告警对象时对应的当前时间作为firstTime的取值。
以一个告警对象obj1为例,对obj1进行告警通知时,首先锁住告警队列(AlarmContexQueue),将obj1.currTime的值更新为当前时间,如果obj1.firstTime==0,则obj1.firstTime=obj1.currTime。如果满足第一预设条件即obj1.currCount>=obj1.count并且(obj1.currTime–obj1.firstTime)>=obj1.duration,则执行S105;如果不满足第一预设条件,则执行S106。
S105:从所述告警队列中删除所述第一告警对象。
当第一告警对象完成了告警通知后,第一告警对象已经没有使用价值,为了防止第一告警对象继续占用告警队列的存储空间,此时可以将第一告警对象从告警队列中删除。
S106:轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端。
在本发明实施例中,用户可以根据实际需求向集群告警系统发送多条订阅信息,可以通过轮询的方式,将告警对象依次按照订阅信息对应的告警方式进行告警通知。
例如,订阅队列中包含有5条订阅信息,则可以将第一告警对象按照第1条订阅信息的告警方式向第1条订阅信息指定的接收端发送第一告警对象;当按照第1条订阅信息的方式完成告警通知后,则继续按照第2条订阅信息的告警方式向第2条订阅信息指定的接收端发送第一告警对象;当按照第2条订阅信息的方式完成告警通知后,则继续按照第3条订阅信息的告警方式向第3条订阅信息指定的接收端发送第一告警对象,依次类推,通过轮询订阅队列中的订阅信息,完成第一告警对象的告警通知。
以第一告警对象为例,在第一告警对象中携带有已发送次数,集群告警系统向订阅信息中指定的接收端发送一次第一告警对象,相应的,第一告警对象的已发送次数加1,并对最近一次发送时间进行实时的更新。
第二预设条件可以是对告警对象进行告警通知的前提条件。
结合上述介绍中的两种告警模式,第二预设条件可以针对订阅信息中的告警模式进行设置。为后续介绍方便,将以所述订阅队列中的任意一条订阅信息即第一订阅信息为例展开介绍。对于订阅队列中的其它订阅信息的处理,可以参看第一订阅信息的处理过程,在此不再赘述。
当第一订阅信息中的告警模式为M_COUNT时,若第一告警对象的已发送次数小于允许发送次数,则将第一告警对象按照第一订阅信息对应的告警模式进行告警通知;当第一订阅信息中的告警模式为M_DURATION时,若第一告警对象最近一次发送时间与第一次发送时间的差值小于允许发送的时长,则将第一告警对象按照第一订阅信息对应的告警方式进行告警通知。
例如,第一订阅信息为Subscription1,第一告警对象为obj1,当obj1不满足第一预设条件时,可以复制obj1,记复制出的对象为obj1Copy,如果“Subscription1.mode==M_COUNT且obj1Copy.currCount<obj1Copy.count”,或者“Subscription1.mode==M_DURATION且(obj1Copy.currTime-obj1Copy.firstTime)<obj1Copy.duration”,则将obj1Copy.event使用Subscription1.notifyType指定的方式发送到Subscription1.destAddress。
需要说明的是,上述内容中均以第一告警对象为例展开的介绍,对于告警队列中的其它告警对象的处理过程,可以参看第一告警对象的处理过程,在此不再赘述。
由上述技术方案可以看出,集群告警系统将接收到的订阅信息保存至预先设置的订阅队列中,接收各个检测模块发送的告警事件,为了便于后续对告警事件的进行告警通知,需要先将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;判断所述告警队列中的任意一个告警对象即第一告警对象是否满足第一预设条件;当满足预设条件时,则说明已经完成了对该告警对象的告警通知,此时可以从告警队列中删除第一告警对象;当不满足预设条件时,则轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端。通过轮询订阅信息的方式,可以将告警对象依次按照不同类型的告警方式进行告警通知,最大程度的满足客户的需求。
在上述介绍中,以集群告警系统向订阅队列中保存订阅信息为例进行的介绍,用户除了可以向订阅队列中存储订阅信息,同样也可以从订阅队列删除订阅信息。为了便于集群告警系统对订阅信息的不同操作类型进行区分,用户在向集群告警系统发送订阅信息时可以携带相应的类型信息,以便于集群告警系统区分是保存订阅信息还是删除订阅信息,其具体过程如图2所示,包括:
S201:接收用户发送的订阅信息。
在订阅信息中可以携带类型信息。依据用户对订阅信息的操作,在本发明实施例中可以将类型信息划分为两种,用于表示存储订阅信息的订阅类型和用于表示删除订阅信息的删除类型。
用户向集群告警系统发送订阅信息的形式有多种,用户可以在集群告警系统提供的录入界面中输入订阅信息;也可以是利用其它工具将设置的订阅信息通过网络发送至集群告警系统,对此不做限定。
S202:判断所述订阅信息中携带的类型信息是否属于订阅类型。
当类型信息属于订阅类型时,则说明用户向集群告警系统发送订阅信息的目的在于存储该订阅信息,此时,可以执行S203;当类型信息不属于订阅类型时,则可以对类型信息进行进一步的判断,即执行S204。
S203:锁定预先设置的订阅队列,将所述订阅信息保存至所述订阅队列中,并解锁所述订阅队列。
锁定订阅队列可以防止其它信息对订阅队列的占用或干扰,即保证订阅队列此时只用于存储订阅信息。当完成订阅信息的存储后,则解锁该订阅队列,以便于订阅队列可以用于其它业务。
S204:判断所述类型信息是否属于删除类型。
S205:将所述订阅信息包括的告警通知方式、告警模式和告警接收端地址作为联合主键,从所述订阅队列中查询是否存在与所述联合主键匹配的订阅信息。
联合主键可以用于表示识别不同订阅信息的标识。在本发明实施例中,将一个订阅信息中携带的告警通知方式、告警模式和告警接收端地址进行组合具有唯一性,故此,可以将该组合作为联合主键。
S206:若存在与所述联合主键匹配的订阅信息,则将所述订阅信息从所述订阅队列中删除。
当类型信息属于删除类型时,则说明此时用户向集群告警系统发送订阅信息的目的在于将该订阅信息从订阅队列中删除;若订阅队列中包含有该订阅信息,则将该订阅信息删除。
通过S206的操作可以将没有使用价值的订阅信息删除,从而使得订阅队列具有更多的存储空间存储具有使用价值的订阅信息,提高了订阅队列内存空间的利用率。
在上述S103中需要将告警事件按照预设格式封装成告警对象,并保存该告警对象。接下来将对告警事件的封装保存过程展开介绍,其具体过程如图3所示,,
S301:在所述告警事件中添加告警发送时间间隔、已发送次数、允许发送次数、第一次发送时间、允许发送时长和最近一次发送时间,构成告警对象。
以一个告警事件(event1)为例,通过添加告警因子(AlarmContex)构成告警对象(obj1),添加告警因子后,需要给各个告警因子赋值,也即给obj1各成员赋值:告警发送时间间隔(obj1.interval)=系统配置值;已发送次数(obj1.currCount)=0;允许发送次数(obj1.count)=系统配置值;第一次发送时间(obj1.firstTime)=0;允许发送时长(obj1.duration)=系统配置值。
其中,系统配置值可以由用户根据需求进行设定,也即用户可以对告警发送时间间隔、允许发送次数和允许发送时长的取值进行修改。
在具体实现中,可以依据于告警事件的不同级别,设置对应的允许发送次数,例如告警级别越高,允许发送次数越多。同理,可以依据于告警事件的不同级别,设置对应的允许发送时长,例如告警级别越高,允发送时长越大。
S302:锁定告警队列,依据告警源标识,判断所述告警队列中是否存在与所述告警对象相同的目标告警对象。
通过锁定告警队列,可以有效防止多个线程同时对告警队列进行操作。
为了避免同一告警对象在告警队列中被存储多次,当有新的告警对象出现时,需要先判断告警队列中是否已经保存了该告警对象。已经保存的告警对象与目前新生成的告警对象存在时间上的差异,为了便于区分,可以将告警队列中保存的告警对象称为目标告警对象。考虑到告警源标识可以作为识别告警源的唯一标识,在本发明实施例中,可以将告警源标识作为告警对象是否已经存储在告警队列的依据。
以一个告警对象为例,其有对应的一个告警源标识,当告警队列中存在与该告警源标识相同的告警源标识时,则说明该告警队列中已经保存了目标告警对象,则执行S303;当告警队列中不存在与该告警源标识相同的告警源标识时,则说明该告警队列中未保存与该告警对象相同的目标告警对象,则执行S304。
S303:将所述告警队列中的所述目标告警对象更新为所述告警对象。
考虑到用户总是想知道事件源的最新告警信息,并且为了避免重复存储,当告警队列中存在与新生成的告警对象相同的目标告警对象时,可以将新生成的告警对象代替目标告警对象,保存至告警队列中。
S304:将所述告警对象保存至所述告警队列中。
当告警队列中不存在与新生成的告警对象相同的目标告警对象时,则可以将新生成的告警对象保存至告警队列中。
例如,新生成的告警对象为obj1,在进行告警对象的存储时,首先需要锁住告警队列(AlarmContexQueue),判断队列AlarmContexQueue中是否存在这样的对象:obj.event.sourceId==obj1.event.sourceId,其中“==”表示“等于”,sourceId即告警事件中携带的告警源标识。如果存在则使用obj1替换告警队列中的这个目标告警对象,从而保证事件源的最新告警信息;否则将obj1添加到队列AlarmContexQueue中,解锁队列AlarmContexQueue。
图4为本发明实施例提供的一种集群告警装置的结构示意图,包括订阅模块41、收集模块42、处理模块43和发送模块44;
所述订阅模块41,用于将接收到的订阅信息保存至预先设置的订阅队列中;其中,所述订阅信息包括告警通知方式、告警模式和告警接收端地址;
所述收集模块42,用于接收各个检测模块发送的告警事件;其中,所述告警事件中携带有告警级别、告警源标识和辅助信息;
所述处理模块43,用于将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;
所述处理模块43还用于判断第一告警对象是否满足第一预设条件;若是,则从所述告警队列中删除所述第一告警对象;其中,所述第一告警对象为所述告警队列中的任意一个告警对象;
若否,则触发所述发送模块44,所述发送模块44,用于轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端;其中,所述第一订阅信息为所述订阅队列中的任意一条订阅信息。
可选的,所述订阅模块包括接收子模块、判断子模块和保存子模块;
所述接收子模块,用于接收用户发送的订阅信息;
所述判断子模块,用于判断所述订阅信息中携带的类型信息是否属于订阅类型;
若是,则触发所述保存子模块,所述保存子模块,用于锁定预先设置的订阅队列,将所述订阅信息保存至所述订阅队列中,并解锁所述订阅队列。
可选的,所述订阅模块还包括查询子模块和删除子模块;
所述判断子模块,还用于当所述类型信息不属于订阅类型时,则判断所述类型信息是否属于删除类型;
若是,则触发所述查询子模块,所述查询子模块,用于将所述订阅信息包括的告警通知方式、告警模式和告警接收端地址作为联合主键,从所述订阅队列中查询是否存在与所述联合主键匹配的订阅信息;
所述删除子模块,用于若存在与所述联合主键匹配的订阅信息,则将所述订阅信息从所述订阅队列中删除。
可选的,所述处理模块包括添加子模块、判断子模块、更新子模块和保存子模块;
所述添加子模块,用于在所述告警事件中添加告警发送时间间隔、已发送次数、允许发送次数、第一次发送时间、允许发送时长和最近一次发送时间,构成告警对象;
所述判断子模块,用于锁定告警队列,依据告警源标识,判断所述告警队列中是否存在与所述告警对象相同的目标告警对象;
若是,则触发所述更新子模块,所述更新子模块,用于将所述告警队列中的所述目标告警对象更新为所述告警对象;
若否,则触发所述保存子模块,所述保存子模块,用于将所述告警对象保存至所述告警队列中。
图4所对应实施例中特征的说明可以参见图1、图2和图3所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,集群告警系统将接收到的订阅信息保存至预先设置的订阅队列中,接收各个检测模块发送的告警事件,为了便于后续对告警事件的进行告警通知,需要先将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;判断所述告警队列中的任意一个告警对象即第一告警对象是否满足第一预设条件;当满足预设条件时,则说明已经完成了对该告警对象的告警通知,此时可以从告警队列中删除第一告警对象;当不满足预设条件时,则轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端。通过轮询订阅信息的方式,可以将告警对象依次按照不同类型的告警方式进行告警通知,最大程度的满足客户的需求。
图5为本发明实施例提供的一种集群告警设备50的硬件结构示意图,包括存储器51和处理器52;
存储器51,用于存储计算机程序;
处理器52,用于执行所述计算机程序以实现如权利要求1至4任意一项所述集群告警方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有集群告警程序,所述集群告警程序被处理器执行时实现上述集群告警方法的步骤。
以上对本发明实施例所提供的一种集群告警方法、装置、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种集群告警方法,其特征在于,包括:
将接收到的订阅信息保存至预先设置的订阅队列中;其中,所述订阅信息包括告警通知方式、告警模式和告警接收端地址;
接收各个检测模块发送的告警事件;其中,所述告警事件中携带有告警级别、告警源标识和辅助信息;
将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;
判断第一告警对象是否满足第一预设条件;其中,所述第一告警对象为所述告警队列中的任意一个告警对象;
若是,则从所述告警队列中删除所述第一告警对象;
若否,则轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端;其中,所述第一订阅信息为所述订阅队列中的任意一条订阅信息。
2.根据权利要求1所述的方法,其特征在于,所述将接收到的订阅信息保存至预先设置的订阅队列中包括:
接收用户发送的订阅信息;
判断所述订阅信息中携带的类型信息是否属于订阅类型;
若是,则锁定预先设置的订阅队列,将所述订阅信息保存至所述订阅队列中,并解锁所述订阅队列。
3.根据权利要求2所述的方法,其特征在于,还包括:
当所述类型信息不属于所述订阅类型时,则判断所述类型信息是否属于删除类型;
若是,则将所述订阅信息包括的告警通知方式、告警模式和告警接收端地址作为联合主键,从所述订阅队列中查询是否存在与所述联合主键匹配的订阅信息;
若存在与所述联合主键匹配的订阅信息,则将所述订阅信息从所述订阅队列中删除。
4.根据权利要求1所述的方法,其特征在于,所述将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中包括:
在所述告警事件中添加告警发送时间间隔、已发送次数、允许发送次数、第一次发送时间、允许发送时长和最近一次发送时间,构成告警对象;
锁定告警队列,依据告警源标识,判断所述告警队列中是否存在与所述告警对象相同的目标告警对象;
若是,则将所述告警队列中的所述目标告警对象更新为所述告警对象;
若否,则将所述告警对象保存至所述告警队列中。
5.一种集群告警装置,其特征在于,包括订阅模块、收集模块、处理模块和发送模块;
所述订阅模块,用于将接收到的订阅信息保存至预先设置的订阅队列中;其中,所述订阅信息包括告警通知方式、告警模式和告警接收端地址;
所述收集模块,用于接收各个检测模块发送的告警事件;其中,所述告警事件中携带有告警级别、告警源标识和辅助信息;
所述处理模块,用于将所述告警事件按照预设格式封装成告警对象,并将所述告警对象保存至预先设置的告警队列中;
所述处理模块还用于判断第一告警对象是否满足第一预设条件;若是,则从所述告警队列中删除所述第一告警对象;其中,所述第一告警对象为所述告警队列中的任意一个告警对象;
若否,则触发所述发送模块,所述发送模块,用于轮询所述订阅队列中保存的订阅信息,按照第一订阅信息中包括的告警通知方式,将满足第二预设条件的第一告警对象发送至所述第一订阅信息中包括的告警接收端地址指向的接收端;其中,所述第一订阅信息为所述订阅队列中的任意一条订阅信息。
6.根据权利要求5所述的装置,其特征在于,所述订阅模块包括接收子模块、判断子模块和保存子模块;
所述接收子模块,用于接收用户发送的订阅信息;
所述判断子模块,用于判断所述订阅信息中携带的类型信息是否属于订阅类型;
若是,则触发所述保存子模块,所述保存子模块,用于锁定预先设置的订阅队列,将所述订阅信息保存至所述订阅队列中,并解锁所述订阅队列。
7.根据权利要求6所述的装置,其特征在于,所述订阅模块还包括查询子模块和删除子模块;
所述判断子模块,还用于当所述类型信息不属于订阅类型时,则判断所述类型信息是否属于删除类型;
若是,则触发所述查询子模块,所述查询子模块,用于将所述订阅信息包括的告警通知方式、告警模式和告警接收端地址作为联合主键,从所述订阅队列中查询是否存在与所述联合主键匹配的订阅信息;
所述删除子模块,用于若存在与所述联合主键匹配的订阅信息,则将所述订阅信息从所述订阅队列中删除。
8.根据权利要求5所述的装置,其特征在于,所述处理模块包括添加子模块、判断子模块、更新子模块和保存子模块;
所述添加子模块,用于在所述告警事件中添加告警发送时间间隔、已发送次数、允许发送次数、第一次发送时间、允许发送时长和最近一次发送时间,构成告警对象;
所述判断子模块,用于锁定告警队列,依据告警源标识,判断所述告警队列中是否存在与所述告警对象相同的目标告警对象;
若是,则触发所述更新子模块,所述更新子模块,用于将所述告警队列中的所述目标告警对象更新为所述告警对象;
若否,则触发所述保存子模块,所述保存子模块,用于将所述告警对象保存至所述告警队列中。
9.一种集群告警设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任意一项所述集群告警方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有集群告警程序,所述集群告警程序被处理器执行时实现如权利要求1至4任一项所述集群告警方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710854598.4A CN107579854B (zh) | 2017-09-20 | 2017-09-20 | 一种集群告警方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710854598.4A CN107579854B (zh) | 2017-09-20 | 2017-09-20 | 一种集群告警方法、装置、设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107579854A true CN107579854A (zh) | 2018-01-12 |
CN107579854B CN107579854B (zh) | 2021-08-31 |
Family
ID=61033901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710854598.4A Active CN107579854B (zh) | 2017-09-20 | 2017-09-20 | 一种集群告警方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107579854B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688280A (zh) * | 2019-09-25 | 2020-01-14 | 中国建设银行股份有限公司 | 一种告警事件的管理系统、方法、设备和存储介质 |
CN111245875A (zh) * | 2018-11-28 | 2020-06-05 | 京东方科技集团股份有限公司 | 事件通知方法、设备、装置和计算机存储介质 |
CN112104480A (zh) * | 2020-08-05 | 2020-12-18 | 福建天泉教育科技有限公司 | 提高告警质量的方法及其系统 |
CN113593196A (zh) * | 2021-07-19 | 2021-11-02 | 许昌许继软件技术有限公司 | 一种配电房告警信息订阅方法及系统 |
CN114826878A (zh) * | 2022-03-04 | 2022-07-29 | 北京快乐茄信息技术有限公司 | 一种基于数据可视化平台的告警方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2015552A2 (fr) * | 2007-07-11 | 2009-01-14 | Societé Française du Radiotéléphone | Procédé et système d'alerte modulaire |
CN101409638A (zh) * | 2008-11-19 | 2009-04-15 | 阿里巴巴集团控股有限公司 | 一种分布式业务系统故障告警的方法、系统和装置 |
CN101527660A (zh) * | 2009-04-03 | 2009-09-09 | 华为技术有限公司 | 告警方法、相关设备及系统 |
CN104092577A (zh) * | 2014-07-31 | 2014-10-08 | 上海斐讯数据通信技术有限公司 | 一种网络告警通知系统及其通知方法 |
CN107147527A (zh) * | 2017-05-16 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种Linux集群告警的系统及方法 |
-
2017
- 2017-09-20 CN CN201710854598.4A patent/CN107579854B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2015552A2 (fr) * | 2007-07-11 | 2009-01-14 | Societé Française du Radiotéléphone | Procédé et système d'alerte modulaire |
CN101409638A (zh) * | 2008-11-19 | 2009-04-15 | 阿里巴巴集团控股有限公司 | 一种分布式业务系统故障告警的方法、系统和装置 |
CN101527660A (zh) * | 2009-04-03 | 2009-09-09 | 华为技术有限公司 | 告警方法、相关设备及系统 |
CN104092577A (zh) * | 2014-07-31 | 2014-10-08 | 上海斐讯数据通信技术有限公司 | 一种网络告警通知系统及其通知方法 |
CN107147527A (zh) * | 2017-05-16 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种Linux集群告警的系统及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245875A (zh) * | 2018-11-28 | 2020-06-05 | 京东方科技集团股份有限公司 | 事件通知方法、设备、装置和计算机存储介质 |
CN111245875B (zh) * | 2018-11-28 | 2022-03-04 | 京东方科技集团股份有限公司 | 事件通知方法、设备、装置和计算机存储介质 |
US11553050B2 (en) | 2018-11-28 | 2023-01-10 | Beijing Boe Technology Development Co., Ltd. | Event notification method and device, apparatus and computer storage medium |
CN110688280A (zh) * | 2019-09-25 | 2020-01-14 | 中国建设银行股份有限公司 | 一种告警事件的管理系统、方法、设备和存储介质 |
CN110688280B (zh) * | 2019-09-25 | 2023-05-26 | 中国建设银行股份有限公司 | 一种告警事件的管理系统、方法、设备和存储介质 |
CN112104480A (zh) * | 2020-08-05 | 2020-12-18 | 福建天泉教育科技有限公司 | 提高告警质量的方法及其系统 |
CN113593196A (zh) * | 2021-07-19 | 2021-11-02 | 许昌许继软件技术有限公司 | 一种配电房告警信息订阅方法及系统 |
CN114826878A (zh) * | 2022-03-04 | 2022-07-29 | 北京快乐茄信息技术有限公司 | 一种基于数据可视化平台的告警方法及装置 |
CN114826878B (zh) * | 2022-03-04 | 2023-10-13 | 北京快乐茄信息技术有限公司 | 一种基于数据可视化平台的告警方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107579854B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107579854A (zh) | 一种集群告警方法、装置、设备和计算机可读存储介质 | |
CN106713049B (zh) | 一种监控的告警方法及装置 | |
US8156553B1 (en) | Systems and methods for correlating log messages into actionable security incidents and managing human responses | |
US20110296002A1 (en) | Stateful Flow Information Table Method and System for Packet Inspection System | |
EP1315066A1 (en) | Computer security system | |
US20100235920A1 (en) | Method and device for questioning a plurality of computerized devices | |
EP2076057A1 (en) | Method, system and device for realizing information locking | |
JP5697917B2 (ja) | 業務管理システムおよび業務管理プログラム | |
WO2007076613A1 (en) | Systems and methods for improved network based content inspection | |
EP2577545A2 (en) | Security threat detection associated with security events and an actor category model | |
CN110602135B (zh) | 网络攻击处理方法、装置以及电子设备 | |
CN110971485B (zh) | 业务指标的监控系统及方法 | |
CN105427545B (zh) | 基于drools的设备告警管理方法及装置 | |
CN110247906A (zh) | 一种网络监控方法及装置、设备、存储介质 | |
CN111698126A (zh) | 信息监控方法、系统及计算机可读存储介质 | |
CN108183884A (zh) | 一种网络攻击判定方法及装置 | |
CN111352746B (zh) | 消息限流方法、存储介质 | |
CN115794356B (zh) | 基于ssh服务器的多线程同步连接处理方法 | |
CN107231284A (zh) | 一种消息的发送方法和终端设备 | |
CN106254375B (zh) | 一种无线热点设备的识别方法及装置 | |
CN112929347B (zh) | 一种限频方法、装置、设备及介质 | |
CN115460075A (zh) | 基于云原生的多网络模式实现方法、装置、设备及介质 | |
CN107423454A (zh) | 一种分布式文件系统中文件锁的处理方法、装置及设备 | |
US8924547B1 (en) | Systems and methods for managing network devices based on server capacity | |
US9374474B1 (en) | System, method, and computer program for detecting duplicated telecommunications events in a consumer telecommunications network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |