一种实现业务系统告警应急处置自动化的方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种实现业务系统告警应急处置自动化的方法及系统。
【背景技术】
[0002]面对越来越复杂的业务系统(应用),运维中心的工作量不断增大、复杂度也不断增长,日常运维工作面临工作零散重复性多、步骤繁琐容易出错等问题。而不断扩展的IT应用需要越来越合理的模式来保障IT服务能够灵活便捷、安全稳定地持续运行,以此快速响应业务服务需求,并满足云计算时代的业务变革需求,因此实现运维中心的运维自动化已是必不可少。
[0003]现代业务系统(应用),通常不是单一或几台服务器的规模,而是几十甚至上百台服务器集群、负载均衡,部署了多个业务系统,业务系统之间又相互关联、关系错综复杂。在实际中,经常有A业务系统负载过大,导致B业务系统出现异常,这时就需要运维人员登录A业务系统,执行一些操作,降低A业务系统的负载,以保障全局业务系统的稳定平衡运行。待风险解除后,再登录A业务系统,恢复正常配置。
[0004]举例来说,例如金融行业系统,有时核心交易通道容量过大,会导致异常率上升,需要缩减容量,以保证其他的业务系统如交易支撑平台集群、历史检索系统、核心查询服务可以提供正常服务。
[0005]目前已经有综合监视系统,用于监视全部业务系统的性能和关键技术指标,当某项指标值超过了警戒阀值,则产生一条告警信息在综合监控面板里展示。大部分的告警信息有与其唯一对应的应急处置预案,当告警产生时,运维人员查看告警信息,并去查找是否有对应的应急预案,若能找到应急预案,则按照应急预案的内容,登录目标服务器,执行某些指令(脚本)来完成应急处置工作。
[0006]在现有条件下,告警信息需要运维人员人工监视来发现,然后再人工查找对应的应急预案,再人工登录目标主机执行操作,整个过程耗时较长,且人工执行操作难免出现误操作,导致告警升级。现也有一些自动维护处理业务系统告警的机制、程序,但他们大多是部署在本机,不易扩展,针对的告警类型比较有限,如有:
[0007]在2014年11月26日公开的公开号为104168141A的中国发明,公开了一种智能维护业务系统的方法,该方法是在业务系统产生告警、系统事件后,由SOC系统进行收集,并生成维护命令,发送给维护子系统,然后由维护子系统自动调用相关的维护程序,对具体的告警类型及事件进行维护处理,并将处理结果形成维护报告,发送给相关维护人员。通过该发明采用了智能识别故障及事件,并对系统进行自动维护的方法,从而实现了根据事件及告警对系统进行自动维护的目的。但该发明是部署在本机,不易扩展,针对的告警类型比较有限。
【发明内容】
[0008]本发明要解决的技术问题之一,在于提供一种实现业务系统告警应急处置自动化的方法,本发明是针对大型业务系统的告警信息进行的自动化处置,由综合监视系统监视告警信息,发现告警信息后,自动匹配查找对应应急处置预案,找到应急处置预案后由系统程序自动登录目标主机并执行应急处置预案指令(脚本)。
[0009]本发明的问题之一,是这样实现的:
[0010]一种实现业务系统告警应急处置自动化的方法,包括如下步骤:
[0011]步骤1、创建各个告警信息对应的脚本化的应急处置预案,并将所述应急处置预案存储至数据库中;同时,将目标主机信息存储至数据库中,所述目标主机信息包括主机IP地址、登录账户、密码;对于同样的管理内容,该步骤仅执行一次;
[0012]步骤2、监控综合监控系统产生的告警信息,每间隔η秒更新一次告警信息,观察是否有新的告警信息,当发现存在新的告警信息时,在缓存中查找是否有间隔N分钟内不允许重复执行维护操作的告警信息,若有,直接剔除该告警信息;若无,则将该告警信息推送到告警分析组件;
[0013]步骤3、告警分析组件将推送过来的告警信息进行分析,通过数据库查找是否有对应的应急处置预案,若无,则记录日志并通知运维人员人工处理;若有,则将应急处置预案推送到告警处置组件;
[0014]步骤4、告警处置组件将推送过来的告警信息进行处理,该告警信息包含发送告警的主机IP地址,根据该主机IP地址从数据库中提取对应主机的登录账号和密码,使用SSH协议,并根据登录账号和密码自动登录对应的主机,接着执行告警信息对应的应急处置预案;
[0015]步骤5、应急处置预案执行完毕后,记录处置结果并返回给运维人员备查,同时将该告警信息的编号和重复执行间隔N分钟放入缓存,在该间隔N分钟内,不会重复执行该告警信息;下一次处理直接返回至步骤2开始执行。
[0016]进一步地,所述应急处置预案包括告警类型、告警信息的编号、告警描述、处置告警所需的脚本及重复执行间隔N分钟。
[0017]本发明要解决的技术问题之二,在于提供一种实现业务系统告警应急处置自动化的系统,本发明是针对大型业务系统的告警信息进行的自动化处置,由综合监视系统监视告警信息,发现告警信息后,自动匹配查找对应应急处置预案,找到应急处置预案后由系统程序自动登录目标主机并执行应急处置预案指令(脚本)。
[0018]本发明的问题之二,是这样实现的:
[0019]一种实现业务系统告警应急处置自动化的系统,包括:
[0020]数据库管理模块,用于创建各个告警信息对应的脚本化的应急处置预案,并将所述应急处置预案存储至数据库中;同时,将目标主机信息存储至数据库中,所述目标主机信息包括主机IP地址、登录账户、密码;对于同样的管理内容,该模块仅执行一次;
[0021]告警信息监视模块,用于监控综合监控系统产生的告警信息,每间隔η秒更新一次告警信息,观察是否有新的告警信息,当发现存在新的告警信息时,在缓存中查找是否有间隔N分钟内不允许重复执行维护操作的告警信息,若有,直接剔除该告警信息;若无,则将该告警信息推送到告警分析组件;
[0022]告警信息分析模块,用于告警分析组件将推送过来的告警信息进行分析,通过数据库查找是否有对应的应急处置预案,若无,则记录日志并通知运维人员人工处理;若有,则将应急处置预案推送到告警处置组件;
[0023]告警信息处置模块,用于告警处置组件将推送过来的告警信息进行处理,该告警信息包含发送告警的主机IP地址,根据该主机IP地址从数据库中提取对应主机的登录账号和密码,使用SSH协议,并根据登录账号和密码自动登录对应的主机,接着执行告警信息对应的应急处置预案;
[0024]处置结果存储模块,用于在应急处置预案执行完毕后,记录处置结果并返回给运维人员备查,同时将该告警信息的编号和重复执行间隔N分钟放入缓存,在该间隔N分钟内,不会重复执行该告警信息;下一次处理直接返回至所述告警信息监视模块开始执行。
[0025]进一步地,所述应急处置预案包括告警类型、告警信息的编号、告警描述、处置告警所需的脚本及重复执行间隔N分钟。
[0026]本发明具有如下优点:本发明不仅帮助运维人员从重复、固定、繁琐的日常维护事务中解放出来,还可降低IT管理难度、提高运维效率、减少出错机率、降低运营成本,为构建协调、自动化的运维中心提供支撑,并为业务不断创新提供良好的技术手段和基础;本发明是部署在服务器上,程序使用SSH方式登录目标主机,执行脚本,使用纯脚本(批处理命令)处理告警,实现维护系统的目的,维护类型方便扩展,可以动态部署和动态扩展维护类型。
【附图说明】
[0027]下面参照附图结合实施例对本发明作进一步的说明。
[0028]图1为本发明一种实现业务系统告警应急处置自动化的方法中的创建应急处置预案的流程图。
[0029]图2为本发明一种实现业务系统告警应急处置自动化的方法中的存储目标主机信息的流程图。
[0030]图3为本发明一种实现业务系统告警应急处置自动化的方法中告警信号处理的具体执行流程图。
[0031]图4为本发明一种实现业务系统告警应急处置自动化的系统结构示意图。
【具体实施方式】
[0032]如图1至图3所示,本发明的一种实现业务系统告警应急处置自动化的方法,包括如下步骤:
[0033]步骤1、创建各个告警信息对应的脚本化的应急处置预案(操作指令脚本),并将所述应急处置预案(操作指令脚本)存储至数据库中;所述应急处置预案(操作指令脚本)包括告警类型、告警信息的编号、告警描述、处置告警所需的脚本及重复执行间隔N分钟(一般取5分钟?10分钟),所述重复执行间隔N分钟为相同的两个告警信息之间的最小间隔时间,即一告警信息执行后在间隔N分钟内不可重复执行该告警信息,超过间隔N分钟后才可重复执行该告警信息,间隔的时间可自行设置;同时,将目标主机信息存储至数据库中,所述目标主机信息包括主机IP地址、登录账户、密码,存储所述目标主机信息是为了在需要对主机进行操作的时候,可以根据主机IP地址获取对应的登录账户和密码,然后使用登录账户和密码登录目标主机执行操作;对于同样的管理内容,该步骤仅执行一次;
[0034]步骤2、由综合监视系统的监控服务器来监视全部业务系统的性能和关键技术指标,当某项指标值超过了警戒阀值,则综合监视系统会产生一条告警信息在综合监控系统的监控面板里进行展示,同时将告警信息发送给本系统;本系统监控综合监控系统产生的告警信息,每间隔η秒(5秒)更新一次告警信息,观察是否有新的告警信息,当发现存在新的告警信息时,在缓存中查找是否有间隔N分钟内不允许重复执行维护操作的告警信息,若有,直接剔除该告警信息;若无,则将该告警信息推送到告警分析组件;
[0035]步骤3、告警分析组件将推送过来的告警信息进行排队,逐个分析(如:告警类型(来自哪个业务系统)、告警信息的编号、告警描述),并通过数据库查找是否有对应的应急处置预案(操作指令脚本),若无,则记录日志并通知运维人员人工处理;若有,则将应急处置预案(操作指令脚本)推送到告警处置组件;
[