一种实现监控系统业务逻辑在线修改系统的制作方法

文档序号:10555442阅读:175来源:国知局
一种实现监控系统业务逻辑在线修改系统的制作方法
【专利摘要】本发明公开了一种实现监控系统业务逻辑在线修改系统,它包括告警事件格式化模块,与脚本管理模块和告警数据库电连接;告警事件过滤模块与脚本管理模块、告警事件格式化模块和告警事件压缩模块电连接;告警事件压缩模块与脚本管理模块、告警事件过滤模块及配置和知识丰富模块电连接;配置和知识丰富模块与脚本管理模块、告警事件压缩模块、配置和知识数据库、告警数据库电连接;脚本管理模块与告警事件格式化模块、告警事件过滤模块、告警事件压缩模块及配置和知识丰富模块电连接;解决了因业务逻辑变更造成额外的开发成本和监控系统停运期间对告警的发现和故障处理不及时引起业务系统停运等技术问题。
【专利说明】
一种实现监控系统业务逻辑在线修改系统
技术领域
[0001]本发明属于监控告警处理与计算机应用相结合的技术领域,尤其涉及一种实现监控系统业务逻辑在线修改系统。
【背景技术】
[0002]随着信息化的不断深入发展,各信息系统已成为支撑企业生产、营销、服务、管理各环节正常运转的重要支撑手段。为保障企业级应用系统的安全稳定运行,对信息系统的监控和告警处理的准确性和有效性就显得尤为重要。按照一套自动化、智能化的“系统级”监控告警集中处理支持平台的要求,需要我们能够对现有的监控告警进行归并、压缩、知识丰富、配置丰富、关联分析,并最终找到根源告警。这一系列的过程往往需要根据实际情况,逐步调整修改监控系统各个功能模块的设置,然而在传统的监控系统中,一旦对监控系统的业务逻辑功能进行修改调整,则必须停机对监控系统进行修改后再运行发布,这会产生额外的开发成本,并且会造成监控系统停运期间对告警的发现和故障处理不及时引起业务系统停运损失。

【发明内容】

[0003]本发明要解决的技术问题是:提供一种实现监控系统业务逻辑在线修改系统,以解决解决现有技术的监控系统业务逻辑需要停机进行修改,造成额外的开发成本和监控系统停运期间对告警的发现和故障处理不及时引起业务系统停运等技术问题。
[0004]本发明技术方案:
一种实现监控系统业务逻辑在线修改系统,它包括:
告警事件格式化模块,从告警数据库读取原始告警信息进行事件格式化,与脚本管理模块和告警数据库电连接;
告警事件过滤模块,接收已进行过告警事件格式化的告警信息,将提示类告警信息进行过滤,与脚本管理模块、告警事件格式化模块和告警事件压缩模块电连接;
告警事件压缩模块,接收已过滤过的告警信息,将接收到的告警信息进行归并和压缩,与脚本管理模块、告警事件过滤模块及配置和知识丰富模块电连接;
配置和知识丰富模块,从配置和知识数据库中读取配置和知识信息,将已经格式化、过滤和压缩的告警信息进行配置和知识的丰富,形成最终告警信息,与脚本管理模块、告警事件压缩模块、配置和知识数据库、告警数据库电连接;
脚本管理模块,存放各模块的规则脚本,为各模块提供对应的逻辑实现程序,与告警事件格式化模块、告警事件过滤模块、告警事件压缩模块及配置和知识丰富模块电连接。
[0005]它还包括告警数据库,告警数据库存放原始告警信息和最终告警信息。
[0006]告警事件格式化模块包括事件适配,事件标识和事件创建三个子过程,所述事件适配是根据不同底层告警源告警信息格式,为基础监控工具制订适配器,接收基础监控工具上报的告警信息并进行处理;所述事件标识是为不能提供监控脚本名称的告警信息,采用监控项名称或监控指标的标识来进行替代,和事件属主、IP、事件消息摘要组合生成记录标识符,将告警信息、事件名称和记录标识符,装载到告警数据结构中,作为后续告警过滤和压缩的参考信息;事件创建:装载事件适配和标识后的事件的数据,将装载时间戳、内存数据库信息按照缺省值进行置位后进行装载,将装载完成后的事件数据结构作为一个新事件在告警内存库中创建一个记录,并自动生成一个序列号作为内存数据库中告警记录的主键。
[0007]所述告警事件压缩模块包括:
告警扫描:针对经事件过滤后的新发生事件,系统根据告警数据结构中的告警标识位,遍历内存库中所有记录未关闭的告警记录,查找是否具有相同告警标识位的告警记录;告警归并:内存库中已经有告警标识位相同的告警记录,则判断新发生事件为重复事件,将新发生告警最后更新时间信息更新到已有的告警记录中,并将已有告警记录的计数器字段递增,丢弃新发生的事件;同时将原有告警记录的归档标志位置位;
告警更新:内存库中的已有告警记录中,没有相同告警标识的告警记录存在,则判断该事件为初次新发生的告警,则将告警状态标识为进行中,并更新时间戳到状态改变时间字段。
[0008]所述告警事件过滤模块包括
过滤规则匹配:根据规则脚本对基础监控工具提供的原始告警级别进行过滤,匹配过滤规则,则直接关闭告警;
事件关闭:通过置位告警状态标志位,将事件关闭,并更新时间戳到状态改变时间字段,不进行后续处理,即不进行告警。
[0009]所述脚本管理模块的实现方法为通过将告警流水表和配置表和知识表中的内容映射到内存变量中,规则脚本通过引用内存变量的方式根据告警流水表和配置表和知识表中的内容进行逻辑处理;脚本引擎装载规则脚本并调用脚本执行引擎完成逻辑运算,运算完成后的结果同样保存在内存变量中,通过映射机制写入告警流水表,从而完成对告警信息的丰富处理和关联分析。
[0010]所述规则脚本采用实时在线修改,从而实现对监控系统业务逻辑的在线变更。
[0011]本发明有益效果:
本发明通过告警事件格式化模块通过从告警数据库读取原始告警信息,根据不同的底层告警源上报信息格式的特点,为基础监控工具定制的特定适配器,接收基础监控工具上报的告警后,对告警发生的时间、属主信息、原始级别、事件消息等信息进行适配处理,完成事件适配后,根据监控脚本名和事件属主、IP、事件消息摘要,组合生成记录标识符,将告警信息、事件名称和记录标识符,装载到告警数据结构中,然后装载时间戳、内存数据库信息,将装载完成后的事件数据结构作为一个新事件在告警内存库中创建一个记录,并自动生成一个序号序列号作为内存数据库中告警记录的主键,完成数据格式化过程并推送给告警事件过滤模块,将一线运维人员不需要关注的大量告警信息进行规则匹配后完成初次过滤,减少后续过程处理的告警数量,提升系统的运行效率,然后将告警信息推送给事件压缩模块,针对经事件过滤后的新发生事件,系统根据告警数据结构中的告警标识位,遍历内存库中所有记录未关闭的告警记录,查找是否具有相同告警标识位的告警记录,如果内存库中已经有告警标识位相同的告警,则判断新发生事件为重复事件,将新发生告警最后更新时间等信息更新到已有的告警记录中,如果内存库中的已有告警记录中,没有相同告警标识的告警记录存在,则判断该事件为初次新发生的告警,则将告警状态标识为进行中,并更新时间戳到状态改变时间字段,通过此过程将持续、序列发生的,会产生一些特定的事件集合进行有效的归并,自动实现故障信息的高效率压缩,完成压缩工作后将告警信息推送给配偶之和知识丰富模块,通过读取数据库中的配置和知识信息对告警进行属主丰富、知识丰富和业务信息丰富,并生成最终告警推送给告警数据库。整个一系列的告警丰富和关联分析逻辑都依赖于规则脚本提供对应的逻辑实现,由部署在各功能模块的脚本引擎运行脚本才能完成,而规则脚本可以人工在线根据实际需求进行重新编写,从而实现监控系统业务逻辑的在线变更。本发明实现监控系统业务逻辑在线修改的方法,通过上述过程和方法适用于对监控系统业务逻辑的在线修改,解决了因业务逻辑变更造成额外的开发成本和监控系统停运期间对告警的发现和故障处理不及时引起业务系统停运等技术问题。
【附图说明】
[0012]图1为本发明总体流程图;
图2为本发明告警事件格式化模块流程图;
图3为本发明告警事件过滤模块流程图;
图4为本发明告警事件压缩模块流程图;
图5为本发明配置和知识丰富模块流程图;
图6为本发明脚本管理模块流程图。
【具体实施方式】
[0013]本发明包括(见图1):告警事件格式化模块、告警事件过滤模块、告警事件压缩模块、配置和知识丰富模块、脚本管理模块;
其中脚本管理模块通过基于动态语言的脚本引擎技术与各功能模块进网络连接;告警事件格式化模块、配置和知识丰富模块,则通过映射和调用的方式与数据库进行网络连接。
[0014]脚本执行引擎是系统核心组件。告警丰富和关联分析逻辑都依赖于规则脚本提供对应的逻辑实现,由脚本执行引擎运行脚本才能完成。为使脚本与Java语言之间能直接进行数据交互,引入脚本引擎Rhino,它是一种动态类型的、继续对象的脚本语言支持库,它可以在脚本和Java代码中建立桥梁,使脚本可以简单地访问各种Java类库,从而为Java平台提供运行代码的能力。
[0015]告警事件格式化模块,事件格式化过程分为事件标识、事件适配和事件创建三个子过程,通过基于动态语言的脚本引擎技术以及映射和调用的方式连接,实现与脚本管理模块、告警事件过滤模块和数据库之间的数据交互。其工作流程(见图2):事件适配:根据不同的底层告警源上报信息格式的特点,为基础监控工具定制的特定适配器,接收基础监控工具上报的告警后,对信息进行处理。获取数据的方式有些可以直接装载到内存数据库中,有些需要使用预先定义的逻辑对原始信息进行字符处理后,再装载入对应的字段中。本子过程获取的信息有告警发生的时间、属主信息、原始级别、事件消息等原始信息。其中,若该事件关键信息不满足适配条件,则直接丢弃该事件。事件标识:完成事件适配后,根据监控脚本名,如果基础监控工具不是通过脚本方式获取监控数据的,或者基础监控工具不能提供监控脚本名称的,可以使用监控项名称,或者监控指标的标识来进行替代,和事件属主、IP、事件消息摘要,组合生成记录标识符,将告警信息、事件名称和记录标识符,装载到告警数据结构中,作为后续告警过滤、压缩的主要参考信息。事件创建:继续装载事件适配和标识后的事件的数据:装载时间戳、内存数据库信息,将必要信息按照缺省值进行置位后进行装载;将装载完成后的事件数据结构作为一个新事件在告警内存库中创建一个记录,并自动生成一个序号序列号作为内存数据库中告警记录的主键。至此,完成数据格式化过程。
[0016]告警事件过滤模块,在实际的运维环境中,有些原始监控信息并不需要一线运维人员关注,如设备以SNMP协议方式主动发出的提示类告警,不需要任何人工干预,这类告警信息通常具有告警数量大、过滤的判定规则简单的特点,可以在进入集中处理子系统时做初次过滤,减少后续过程处理的告警数量,提升系统的运行效率。在这个过程中,系统只改变告警的状态标志位,不会为告警的数据结构添加新的内容。通过基于动态语言的脚本引擎技术和推送的方式连接,实现与脚本管理模块、告警事件格式化模块和告警事件压缩模块之间的数据交互。其工作流程(见图3):过滤规则匹配:本子过程中涉及的过滤规则可根据格式化告警中已有字段灵活组合,定义在规则脚本中。例如,可以根据基础监控工具提供的原始告警级别进行过滤,级别为一般性提示信息的时候,匹配过滤规则,可直接关闭告警。事件关闭:通过置位告警状态标志位,将事件关闭,并更新时间戳到状态改变时间字段,不进行后续处理,即不进行告警。
[0017]告警事件压缩模块,在IT基础设施的实际监控中,由于基础监控工具对监控点的主动监控设置了轮询周期,因此有些事件是持续、序列发生的,会产生一些特定的事件集合。告警采集器要对此类型的事件集合进行有效的归并,自动实现故障信息的高效率压缩。对于来自相同事件源的事件,系统不会为此后的事件添加新的告警条目,仅累计故障次数。因此,可以采用主动的自动化压缩功能。所谓主动式的事件处理,是指来自相同事件源的告警在关闭之前,只对应于内存库中的一条纪录,后续的重复事件只是不断更新该条纪录的发生次数和最后发生告警等相关字段。在这个过程中,系统只改变告警的状态标志位或更新已有告警的原有的几个字段,不会为告警的数据结构添加新的内容。通过基于动态语言的脚本引擎技术和推送的方式连接,实现与脚本管理模块、告警事件过滤模块以及配置和知识丰富模块之间的数据交互。其工作流程(见图4):告警扫描:针对经事件过滤后的新发生事件,系统根据告警数据结构中的告警标识位,遍历内存库中所有记录未关闭的告警记录,查找是否具有相同告警标识位的告警记录。告警归并:如果内存库中已经有告警标识位相同的告警,则判断新发生事件为重复事件,将新发生告警最后更新时间等信息更新到已有的告警记录中,并将已有告警记录的计数器字段递增,丢弃新发生的事件;同时,由于原有的告警记录状态被更新,还要将原有告警记录的归档标志位置位,表示记录需要同步到历史库待归档周期到达时对其进行历史库同步处理。告警更新:如果内存库中的已有告警记录中,没有相同告警标识的告警记录存在,则判断该事件为初次新发生的告警,则将告警状态标识为进行中,并更新时间戳到状态改变时间字段。至此,告警压缩过程结束。
[0018]配置和知识丰富模块,将配置和知识信息加入告警信息并生成最终告警。通过基于动态语言的脚本引擎技术以及映射和调用的方式连接,实现与脚本管理模块、告警事件压缩模块和数据库之间的数据交互。其工作流程(见图5):经过属主信息一次丰富后的告警具有告警属主的唯一标识,可以支撑引擎进行知识丰富;知识丰富完毕后已可上报告警,协助运维人员尽早发现和处理问题;进行属主信息二次丰富和业务信息丰富则可提供更多的配置信息,协助运维人员快速定位和解决问题。
[0019]脚本管理模块,包含规则脚本和用于运行规则脚本的脚本执行引擎,通过基于动态语言的脚本引擎技术与各功能模块间进行连接,实现与各功能模块的实时数据交互。其工作流程(见图6):通过将告警流水表和配置、知识表中的内容映射到内存变量中,规则脚本即可通过引用内存变量的方式根据告警流水表和配置、知识表中的内容进行逻辑处理。脚本引擎装载规则脚本并调用脚本执行引擎完成逻辑运算,运算完成后的结果同样保存在内存变量中,通过映射机制写入告警流水表,从而完成对告警的丰富处理和关联分析。规则脚本可以实时在线修改,从而实现对监控系统业务逻辑的在线变更。
[0020]本发明通过上述过程和方法适用于对监控系统业务逻辑的在线修改,解决了因业务逻辑变更造成额外的开发成本和监控系统停运期间对告警的发现和故障处理不及时引起业务系统停运等技术问题。
【主权项】
1.一种实现监控系统业务逻辑在线修改系统,它包括: 告警事件格式化模块,从告警数据库读取原始告警信息进行事件格式化,与脚本管理模块和告警数据库电连接; 告警事件过滤模块,接收已进行过告警事件格式化的告警信息,将提示类告警信息进行过滤,与脚本管理模块、告警事件格式化模块和告警事件压缩模块电连接; 告警事件压缩模块,接收已过滤过的告警信息,将接收到的告警信息进行归并和压缩,与脚本管理模块、告警事件过滤模块及配置和知识丰富模块电连接; 配置和知识丰富模块,从配置和知识数据库中读取配置和知识信息,将已经格式化、过滤和压缩的告警信息进行配置和知识的丰富,形成最终告警信息,与脚本管理模块、告警事件压缩模块、配置和知识数据库、告警数据库电连接; 脚本管理模块,存放各模块的规则脚本,为各模块提供对应的逻辑实现程序,与告警事件格式化模块、告警事件过滤模块、告警事件压缩模块及配置和知识丰富模块电连接。2.根据权利要求1所述的一种实现监控系统业务逻辑在线修改系统,其特征在于:它还包括告警数据库,告警数据库存放原始告警信息和最终告警信息。3.根据权利要求1所述的一种实现监控系统业务逻辑在线修改系统,其特征在于:告警事件格式化模块包括事件适配,事件标识和事件创建三个子过程,所述事件适配是根据不同底层告警源告警信息格式,为基础监控工具制订适配器,接收基础监控工具上报的告警信息并进行处理;所述事件标识是为不能提供监控脚本名称的告警信息,采用监控项名称或监控指标的标识来进行替代,和事件属主、IP、事件消息摘要组合生成记录标识符,将告警信息、事件名称和记录标识符,装载到告警数据结构中,作为后续告警过滤和压缩的参考信息;事件创建:装载事件适配和标识后的事件的数据,将装载时间戳、内存数据库信息按照缺省值进行置位后进行装载,将装载完成后的事件数据结构作为一个新事件在告警内存库中创建一个记录,并自动生成一个序列号作为内存数据库中告警记录的主键。4.根据权利要求1所述的一种实现监控系统业务逻辑在线修改系统,其特征在于:所述告警事件压缩模块包括: 告警扫描:针对经事件过滤后的新发生事件,系统根据告警数据结构中的告警标识位,遍历内存库中所有记录未关闭的告警记录,查找是否具有相同告警标识位的告警记录;告警归并:内存库中已经有告警标识位相同的告警记录,则判断新发生事件为重复事件,将新发生告警最后更新时间信息更新到已有的告警记录中,并将已有告警记录的计数器字段递增,丢弃新发生的事件;同时将原有告警记录的归档标志位置位; 告警更新:内存库中的已有告警记录中,没有相同告警标识的告警记录存在,则判断该事件为初次新发生的告警,则将告警状态标识为进行中,并更新时间戳到状态改变时间字段。5.根据权利要求1所述的一种实现监控系统业务逻辑在线修改系统,其特征在于:所述告警事件过滤模块包括 过滤规则匹配:根据规则脚本对基础监控工具提供的原始告警级别进行过滤,匹配过滤规则,则直接关闭告警; 事件关闭:通过置位告警状态标志位,将事件关闭,并更新时间戳到状态改变时间字段,不进行后续处理,即不进行告警。6.根据权利要求1所述的一种实现监控系统业务逻辑在线修改系统,其特征在于:所述脚本管理模块的实现方法为通过将告警流水表和配置表和知识表中的内容映射到内存变量中,规则脚本通过引用内存变量的方式根据告警流水表和配置表和知识表中的内容进行逻辑处理;脚本引擎装载规则脚本并调用脚本执行引擎完成逻辑运算,运算完成后的结果同样保存在内存变量中,通过映射机制写入告警流水表,从而完成对告警信息的丰富处理和关联分析。7.根据权利要求1或6所述的一种实现监控系统业务逻辑在线修改系统,其特征在于:所述规则脚本采用实时在线修改,从而实现对监控系统业务逻辑的在线变更。
【文档编号】H04L12/24GK105915381SQ201610249391
【公开日】2016年8月31日
【申请日】2016年4月21日
【发明人】罗念华, 龙玉江, 汪浩, 钟掖, 朱颖琪, 王杰峰, 朱彬, 徐敬峰, 何衡, 顾毅
【申请人】贵州电网有限责任公司信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1