一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Esper实现的告警聚合方法与流程

2022-08-02 22:41:29 来源:中国专利 TAG:

一种基于esper实现的告警聚合方法
技术领域
1.本发明涉及一种基于esper实现的告警聚合方法,属于运维告警信息处理技术领域。


背景技术:

2.运维过程中通常需要处理大量的告警信息,告警信息往往呈现离散分布状态,运维人员通常很难从大量离散的告警中分析故障源头、屏蔽误报,为运维工作带来较大困扰。如果存在一种方法可根据预先设定的规则实时地分析告警信息,当符合阈值条件时自动聚合成新的告警,该方法将会极大提高运维效率。


技术实现要素:

3.为解决上述问题,本发明提出一种基于esper实现的告警聚合方法,具体技术方案如下,
4.一种基于esper实现的告警聚合方法,包括如下步骤:
5.步骤一:定义聚合规则为内容包括epl和聚合告警类型的二元组,系统启动时加载系统中定义的所有聚合规则,将epl注入esper规则容器;
6.步骤二:设置一个聚合处理器,负责初始化、刷新聚合规则引擎并接收告警信息事件输入;设置一个抽象的聚合事件监听器,负责获取epl的表达式模板、阈值参数、处理输出聚合事件;
7.步骤三:系统启动时首先初始化、刷新聚合规则引擎,将系统中存在聚合事件监听器装配到聚合处理器中,根据每个聚合事件监听器中获取的epl表达式模板和阈值参数的内容组织epl的表达式,在设置监听回调后装入聚合规则引擎中;
8.步骤四:运行过程中,产生的告警信息通过聚合处理器的事件推送方法送入聚合规则引擎;
9.步骤五:当告警信息满足聚合规则引擎中epl的表达式,则监听回调被触发,将当前告警信息的聚合告警类型与epl上下文信息组织为聚合告警信息,并交由业务进行处理。
10.优选的,所述聚合事件监听器会在聚合处理器中完成初始化。
11.优选的,所述步骤四中,产生告警信息的事件首先被事件处理总线缓存,然后分配至对应的聚合规则引擎,事件在聚合规则引擎中进行解析、筛选处理,符合规则条件的事件触发输出动作,聚合规则引擎同时会缓存输出的事件信息、历史数据。
12.优选的,在运行过程中,阈值参数的变化会触发聚合处理器的初始化,初始化过程与系统启动时执行的初始化一致,即将新的阈值参数组织成为新的epl的表达式,覆盖之前的epl的表达式,并重新加载聚合规则引擎。
13.优选的,所述步骤五中,聚合告警信息通过预检查后再交由业务进行处理。
14.进一步的,所述预检查是对聚合规则的扩展,执行预检查期间可将输出的聚合告警信息再次加工和过滤,以满足复杂需求。
15.本发明可支持运行时聚合规则热部署,阈值参数可以动态修改并实时同步聚合规则引擎,具备较强的扩展性和灵活性,可以适应复杂多变的运维场景。
附图说明
16.图1是本发明一种基于esper实现的告警聚合方法的工作流程图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.缩略语和关键术语定义:
19.esper:复杂事务处理引擎。
20.epl:esper定义的事件处理语言,与sql类似。
21.一种基于esper实现的告警聚合方法,包括如下步骤:
22.步骤一:定义聚合规则为(epl,聚合告警类型)二元组,系统启动时加载系统中定义的所有聚合规则,将epl注入esper规则容器。
23.步骤二:设置一个聚合处理器,负责初始化、刷新聚合规则引擎并接收告警信息事件输入;设置一个抽象的聚合事件监听器,负责获取epl的表达式模板、阈值参数、处理输出聚合事件;每一个具体的聚合事件监听器需具备该抽象监听器的行为,系统中所有的聚合事件监听器会统一在聚合处理器中完成初始化。
24.步骤三:系统启动时首先初始化、刷新聚合规则引擎,将系统中存在聚合事件监听器装配到聚合处理器中,根据每个聚合事件监听器中获取的epl表达式模板和阈值参数的内容组织epl的表达式,在设置监听回调后装入聚合规则引擎中。
25.步骤四:运行过程中,产生的告警信息通过聚合处理器的事件推送方法送入聚合规则引擎;产生告警信息的事件首先被事件处理总线缓存,然后分配至对应的聚合规则引擎,事件在聚合规则引擎中进行解析、筛选处理,符合规则条件的事件触发输出动作,聚合规则引擎同时会缓存输出的事件信息、历史数据。
26.步骤五:当告警信息满足聚合规则引擎中epl的表达式,则监听回调被触发,将当前告警信息的聚合告警类型与epl上下文信息组织为聚合告警信息,并交由业务进行处理。聚合告警信息可通过预检查后再交由业务进行处理,所述预检查是对聚合规则的扩展,执行预检查期间可将输出的聚合告警信息再次加工和过滤,以满足复杂需求。
27.在运行过程中,阈值参数的变化会触发聚合处理器的初始化,初始化过程与系统启动时执行的初始化一致,即将新的阈值参数组织成为新的epl的表达式,覆盖之前的epl的表达式,并重新加载聚合规则引擎。
28.具体执行过程如图1所示,系统启动时,在聚合处理器中装配聚合事件监听器,同时初始化聚合规则引擎,聚合事件监听器将获取的epl表达式模板和阈值参数的内容组织epl的表达式,在设置监听回调后装入聚合规则引擎中,系统运行过程中,聚合处理器通过聚合事件监听器监听并接收告警信息,并输送给聚合规则引擎,若告警信息满足聚合规则
引擎中epl的表达式,则监听回调被触发,将当前告警信息的聚合告警类型与epl上下文信息组织为聚合告警信息,再通过预检查交由处理聚合告警的业务进行处理。
29.本发明基于复杂事务处理引擎esper实现,使用epl事件处理语言构造聚合规则,阈值参数可在运行时动态写入实时更新聚合规则,新告警产生并满足聚合规则时输出聚合告警信息,使用过程中聚合规则可动态修改、追加,具备很强的灵活性和扩展性,充分考虑了运维场景复杂多变的实际情况。
30.尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


技术特征:
1.一种基于esper实现的告警聚合方法,其特征在于:包括如下步骤:步骤一:定义聚合规则为内容包括epl和聚合告警类型的二元组,系统启动时加载系统中定义的所有聚合规则,将epl注入esper规则容器;步骤二:设置一个聚合处理器,负责初始化、刷新聚合规则引擎并接收告警信息事件输入;设置一个抽象的聚合事件监听器,负责获取epl的表达式模板、阈值参数、处理输出聚合事件;步骤三:系统启动时首先初始化、刷新聚合规则引擎,将系统中存在聚合事件监听器装配到聚合处理器中,根据每个聚合事件监听器中获取的epl表达式模板和阈值参数的内容组织epl的表达式,在设置监听回调后装入聚合规则引擎中;步骤四:运行过程中,产生的告警信息通过聚合处理器的事件推送方法送入聚合规则引擎;步骤五:当告警信息满足聚合规则引擎中epl的表达式,则监听回调被触发,将当前告警信息的聚合告警类型与epl上下文信息组织为聚合告警信息,并交由业务进行处理。2.根据权利要求1所述的一种基于esper实现的告警聚合方法,其特征在于:所述聚合事件监听器会在聚合处理器中完成初始化。3.根据权利要求1所述的一种基于esper实现的告警聚合方法,其特征在于:所述步骤四中,产生告警信息的事件首先被事件处理总线缓存,然后分配至对应的聚合规则引擎,事件在聚合规则引擎中进行解析、筛选处理,符合规则条件的事件触发输出动作,聚合规则引擎同时会缓存输出的事件信息、历史数据。4.根据权利要求1所述的一种基于esper实现的告警聚合方法,其特征在于:在运行过程中,阈值参数的变化会触发聚合处理器的初始化,初始化过程与系统启动时执行的初始化一致,即将新的阈值参数组织成为新的epl的表达式,覆盖之前的epl的表达式,并重新加载聚合规则引擎。5.根据权利要求1所述的一种基于esper实现的告警聚合方法,其特征在于:所述步骤五中,聚合告警信息通过预检查后再交由业务进行处理。6.根据权利要求5所述的一种基于esper实现的告警聚合方法,其特征在于:所述预检查是对聚合规则的扩展,执行预检查期间可将输出的聚合告警信息再次加工和过滤,以满足复杂需求。

技术总结
本发明提出了一种基于Esper实现的告警聚合方法,包括一、定义聚合规则为内容包括EPL和聚合告警类型的二元组;二、设置一个聚合处理器,设置一个聚合事件监听器;三、系统启动时首先初始化聚合规则引擎,将系统中存在聚合事件监听器装配到聚合处理器中,根据每个聚合事件监听器中获取的EPL表达式模板和阈值参数的内容组织EPL的表达式,在设置监听回调后装入聚合规则引擎中;四、运行过程中,产生的告警信息送入聚合规则引擎;五、当告警信息满足聚合规则,则监听回调被触发,将聚合告警信息,并交由业务进行处理。本发明支持运行时聚合规则热部署,阈值参数可动态修改并实时同步聚合规则引擎,具备较强的扩展性和灵活性。具备较强的扩展性和灵活性。具备较强的扩展性和灵活性。


技术研发人员:刘文璞 杜峰
受保护的技术使用者:山东华软金盾软件股份有限公司
技术研发日:2021.02.01
技术公布日:2022/8/1
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献