一种基于告警的运维方法及装置转让专利

申请号 : CN201910579323.3

文献号 : CN110275795A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 卢道和杨军程志峰胡仲臣周佳振李兴龙汪晓雪陈刚罗海湾李勋棋周琪郭英亚朱嘉伟

申请人 : 深圳前海微众银行股份有限公司

摘要 :

本发明适用于金融科技领域,并公开了一种基于告警的运维方法及装置,其中,方法包括:接收第一服务器的告警信息,根据告警信息的告警类型,若确定第一服务器是故障服务器,则根据该告警信息生成针对第一服务器的第一处理措施,结合第一服务器所属系统的运行信息和资源信息判断第一处理措施是否符合高可用条件,若是,则对第一服务器执行第一处理措施。该技术方案用以提供金融业务系统异常时的自动化处理方案,且保障金融业务系统的正常运行。

权利要求 :

1.一种基于告警的运维方法,其特征在于,包括:

接收第一服务器的告警信息;

根据所述告警信息的告警类型,确定所述第一服务器是否为故障服务器,若是,则根据所述告警信息生成针对所述第一服务器的第一处理措施;

结合所述第一服务器所属系统的运行信息和资源信息判断所述第一处理措施是否符合高可用条件;所述系统的运行信息包括所述系统中各服务器的运行信息;所述系统的资源信息包括所述系统中各服务器的硬件信息;所述高可用条件是预先设定的用于指示对所述第一服务器执行所述第一处理措施后,所述系统的运行信息不低于第一预设指标;

若符合所述高可用条件,则对所述第一服务器执行所述第一处理措施。

2.如权利要求1所述的方法,其特征在于,所述根据所述告警信息的告警类型,确定所述第一服务器是否为故障服务器,包括:当所述告警信息的告警类型为一般告警时,判断所述一般告警是否为首次告警,若是,则关闭所述一般告警,并将所述一般告警更新至第三数据库,通知工作人员以使所述工作人员设置所述一般告警的处理措施;否则,关闭所述一般告警,并执行所述一般告警的处理措施;

当所述告警信息的告警类型为高危告警时,则确定所述第一服务器是否为故障服务器。

3.如权利要求2所述的方法,其特征在于,所述确定所述第一服务器不是故障服务器,包括:当所述第一服务器的告警信息指示所述第一服务器的数据处理信息不满足第二预设指标时,根据所述第一服务器在所属系统中的定位信息,确定位于所述第一服务器上游的第二服务器;若确定所述第二服务器是故障服务器,则确定所述第一服务器不是故障服务器;或所述确定所述第一服务器不是故障服务器,包括:

根据所述告警信息中的所述第一服务器的标识,从第一数据库中获取所述第一服务器的版本信息;若确定所述告警信息是所述第一服务器处于版本状态变化时所导致的,则确定所述第一服务器不是故障服务器;所述第一数据库中记录有所述系统中各服务器的版本状态。

4.如权利要求1所述的方法,其特征在于,所述对所述第一服务器执行所述第一处理措施,包括:根据所述第一处理措施,从第二数据库中调用所述第一处理措施对应的脚本信息,以实现对所述第一服务器执行所述第一处理措施;所述第二数据库中记录有针对所述系统中各服务器的处理措施对应的脚本信息。

5.如权利要求1所述的方法,其特征在于,所述第一处理措施用于指示隔离所述第一服务器;

所述对所述第一服务器执行所述第一处理措施,包括:

向所述系统对应的消息中间件发送第一关闭指令,所述第一关闭指令包括所述第一服务器的标识和第一时长,所述第一关闭指令用于指示所述消息中间件隔离所述第一服务器的时长为所述第一时长;或向所述第一服务器发送第二关闭指令,用于指示所述第一服务器关闭运行在所述第一服务器上的业务实例;或向所述第一服务器的电源接口发送第三关闭指令,用于指示所述电源接口关闭,以使所述第一服务器断电。

6.如权利要求1至5任一项所述的方法,其特征在于,所述根据所述告警信息生成针对所述第一服务器的第一处理措施,包括:根据所述告警信息中的所述第一服务器的标识,从第三数据库中获取所述第一服务器的历史故障信息和对应的处理措施;所述第三数据库用于存储所述系统中各服务器的历史故障信息和对应的处理措施;

结合所述告警信息中的故障信息、所述第一服务器的历史故障信息和对应的处理措施,生成针对所述第一服务器的第一处理措施。

7.一种基于告警的运维装置,其特征在于,包括:

接收单元,用于接收第一服务器的告警信息;

处理单元,用于根据所述告警信息的告警类型,确定所述第一服务器是否为故障服务器,若是,则根据所述告警信息生成针对所述第一服务器的第一处理措施;结合所述第一服务器所属系统的运行信息和资源信息判断所述第一处理措施是否符合高可用条件;若符合所述高可用条件,则对所述第一服务器执行所述第一处理措施;

所述系统的运行信息包括所述系统中各服务器的运行信息;所述系统的资源信息包括所述系统中各服务器的硬件信息;所述高可用条件是预先设定的用于指示对所述第一服务器执行所述第一处理措施后,所述系统的运行信息不低于第一预设指标。

8.如权利要求7所述的装置,其特征在于,所述处理单元具体用于:当所述告警信息的告警类型为一般告警时,判断所述一般告警是否为首次告警,若是,则关闭所述一般告警,并将所述一般告警更新至第三数据库,通知工作人员以使所述工作人员设置所述一般告警的处理措施;否则,关闭所述一般告警,并执行所述一般告警的处理措施;

当所述告警信息的告警类型为高危告警时,则确定所述第一服务器是否为故障服务器。

9.如权利要求8所述的装置,其特征在于,所述处理单元具体用于:当所述第一服务器的告警信息指示所述第一服务器的数据处理信息不满足第二预设指标时,根据所述第一服务器在所属系统中的定位信息,确定位于所述第一服务器上游的第二服务器;若确定所述第二服务器是故障服务器,则确定所述第一服务器不是故障服务器;或所述处理单元具体用于:

根据所述告警信息中的所述第一服务器的标识,从第一数据库中获取所述第一服务器的版本信息;若确定所述告警信息是所述第一服务器处于版本状态变化时所导致的,则确定所述第一服务器不是故障服务器;所述第一数据库中记录有所述系统中各服务器的版本状态。

10.如权利要求7所述的装置,其特征在于,所述处理单元具体用于:根据所述第一处理措施,从第二数据库中调用所述第一处理措施对应的脚本信息,以实现对所述第一服务器执行所述第一处理措施;所述第二数据库中记录有针对所述系统中各服务器的处理措施对应的脚本信息。

11.如权利要求7所述的装置,其特征在于,所述第一处理措施用于指示隔离所述第一服务器;

所述处理单元具体用于:

向所述系统对应的消息中间件发送第一关闭指令,所述第一关闭指令包括所述第一服务器的标识和第一时长,所述第一关闭指令用于指示所述消息中间件隔离所述第一服务器的时长为所述第一时长;或向所述第一服务器发送第二关闭指令,用于指示所述第一服务器关闭运行在所述第一服务器上的业务实例;或向所述第一服务器的电源接口发送第三关闭指令,用于指示所述电源接口关闭,以使所述第一服务器断电。

12.如权利要求7至11任一项所述的装置,其特征在于,所述处理单元具体用于:根据所述告警信息中的所述第一服务器的标识,从第三数据库中获取所述第一服务器的历史故障信息和对应的处理措施;所述第三数据库用于存储所述系统中各服务器的历史故障信息和对应的处理措施;

结合所述告警信息中的故障信息、所述第一服务器的历史故障信息和对应的处理措施,生成针对所述第一服务器的第一处理措施。

13.一种计算设备,其特征在于,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至6任一项所述的方法。

14.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至6任一项所述的方法。

说明书 :

一种基于告警的运维方法及装置

技术领域

[0001] 本发明实施例涉及金融科技(Fintech)领域,尤其涉及一种基于告警的运维方法及装置。

背景技术

[0002] 随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,运维技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对该技术提出的更高的要求。
[0003] 现有技术中,监控系统监控到金融业务系统发生异常,会生成告警信息通知给相关工作人员解决,工作人员根据告警信息对该金融业务系统执行手动处理,如重启或关闭该系统中的服务器,但该种解决方式不仅效率低,还可能影响整个金融业务的正常运行。

发明内容

[0004] 本发明实施例提供一种基于告警的运维方法及装置,用以提供金融业务系统异常时的自动化处理方案,且保障金融业务系统的正常运行。
[0005] 本发明实施例提供的一种基于告警的运维方法,包括:
[0006] 接收第一服务器的告警信息;
[0007] 根据所述告警信息的告警类型,确定所述第一服务器是否为故障服务器,若是,则根据所述告警信息生成针对所述第一服务器的第一处理措施;
[0008] 结合所述第一服务器所属系统的运行信息和资源信息判断所述第一处理措施是否符合高可用条件;所述系统的运行信息包括所述系统中各服务器的运行信息;所述系统的资源信息包括所述系统中各服务器的硬件信息;所述高可用条件是预先设定的用于指示对所述第一服务器执行所述第一处理措施后,所述系统的运行信息不低于第一预设指标;
[0009] 若符合所述高可用条件,则对所述第一服务器执行所述第一处理措施。
[0010] 上述技术方案中,当接收到第一服务器的告警信息后,可以先判断该第一服务器是否为故障服务器,若是,才会生成该第一服务器的第一处理措施,避免对服务器进行不必要的运维处理,以影响整个系统的正常运营;进一步的,在生成该第一服务器的第一处理措施之后,结合该第一服务器所属系统的运行信息和资源信息对该第一处理措施进行判断,确定其是否符合高可用性条件,若是,则对该第一服务器执行该第一处理措施,保障系统的高可用性,进一步避免由于一个服务器的运维工作影响整个系统的正常运营。且采用自动化的处理方案,提高故障处理效率。
[0011] 可选的,所述根据所述告警信息的告警类型,确定所述第一服务器是否为故障服务器,包括:
[0012] 当所述告警信息的告警类型为一般告警时,判断所述一般告警是否为首次告警,若是,则关闭所述一般告警,并将所述一般告警更新至第三数据库,通知工作人员以使所述工作人员设置所述一般告警的处理措施;否则,关闭所述一般告警,并执行所述一般告警的处理措施;
[0013] 当所述告警信息的告警类型为高危告警时,则确定所述第一服务器是否为故障服务器。
[0014] 上述技术方案中,告警分析模块在接收到告警信息后,判断该告警信息是一般告警还是高危告警。若是一般告警,则判断该一般告警是首次告警还是历史告警,首次告警即措施数据库中未存储有该告警所对应的处理措施,历史告警即措施数据库中已经存储有该告警所对应的处理措施。若是首次告警,则需要通知运维人员进行手动处理,并将处理措施自动更新至措施数据库,即第三数据库,即自动上报对应优化项,若是历史告警,则可以综合措施数据库中的处理措施,生成相应的处理措施,自动化进行告警处理,以及关闭告警,通知运维人员执行情况,针对一般告警中的非首次报警,执行自动化处理并关闭,提高运维效率。
[0015] 可选的,所述确定所述第一服务器不是故障服务器,包括:
[0016] 当所述第一服务器的告警信息指示所述第一服务器的数据处理信息不满足第二预设指标时,根据所述第一服务器在所属系统中的定位信息,确定位于所述第一服务器上游的第二服务器;若确定所述第二服务器是故障服务器,则确定所述第一服务器不是故障服务器;或
[0017] 所述确定所述第一服务器不是故障服务器,包括:
[0018] 根据所述告警信息中的所述第一服务器的标识,从第一数据库中获取所述第一服务器的版本信息;若确定所述告警信息是所述第一服务器处于版本状态变化时所导致的,则确定所述第一服务器不是故障服务器;所述第一数据库中记录有所述系统中各服务器的版本状态。
[0019] 上述技术方案中,从保障分布式系统的高可用性的角度出发,提供确定第一服务器不是故障服务器的方式,避免对该类故障服务器执行处理措施,从而影响整个系统的正常运营。
[0020] 可选的,所述对所述第一服务器执行所述第一处理措施,包括:
[0021] 根据所述第一处理措施,从第二数据库中调用所述第一处理措施对应的脚本信息,以实现对所述第一服务器执行所述第一处理措施;所述第二数据库中记录有针对所述系统中各服务器的处理措施对应的脚本信息。
[0022] 上述技术方案中,第二数据库中存储有与第一处理措施对应的脚本信息,从第二数据库中获取该脚本信息,从而执行第一处理措施,该脚本信息是针对各服务器确定的处理措施的脚本信息,具有针对性,可适用于不同服务器的需求。
[0023] 可选的,所述第一处理措施用于指示隔离所述第一服务器;
[0024] 所述对所述第一服务器执行所述第一处理措施,包括:
[0025] 向所述系统对应的消息中间件发送第一关闭指令,所述第一关闭指令包括所述第一服务器的标识和第一时长,所述第一关闭指令用于指示所述消息中间件隔离所述第一服务器的时长为所述第一时长;或
[0026] 向所述第一服务器发送第二关闭指令,用于指示所述第一服务器关闭运行在所述第一服务器上的业务实例;或
[0027] 向所述第一服务器的电源接口发送第三关闭指令,用于指示所述电源接口关闭,以使所述第一服务器断电。
[0028] 上述技术方案中,可以将第一服务器进行隔离,从而防止系统中数据发送至第一服务器,避免系统中数据丢失或者影响系统中数据处理。
[0029] 可选的,所述根据所述告警信息,生成针对所述第一服务器的第一处理措施,包括:
[0030] 根据所述告警信息中的所述第一服务器的标识,从第三数据库中获取所述第一服务器的历史故障信息和对应的处理措施;所述第三数据库用于存储所述系统中各服务器的历史故障信息和对应的处理措施;
[0031] 结合所述告警信息中的故障信息、所述第一服务器的历史故障信息和对应的处理措施,生成针对所述第一服务器的第一处理措施。
[0032] 上述技术方案中,结合第一服务器当前的故障信息和历史故障信息,生成针对第一服务器当前故障信息的处理措施,该处理可以较为高效的解决当前故障信息。
[0033] 相应的,本发明实施例还提供了一种基于告警的运维装置,包括:
[0034] 接收单元,用于接收第一服务器的告警信息;
[0035] 处理单元,用于根据所述告警信息的告警类型,确定所述第一服务器是否为故障服务器,若是,则根据所述告警信息生成针对所述第一服务器的第一处理措施;结合所述第一服务器所属系统的运行信息和资源信息判断所述第一处理措施是否符合高可用条件;若符合所述高可用条件,则对所述第一服务器执行所述第一处理措施;
[0036] 所述系统的运行信息包括所述系统中各服务器的运行信息;所述系统的资源信息包括所述系统中各服务器的硬件信息;所述高可用条件是预先设定的用于指示对所述第一服务器执行所述第一处理措施后,所述系统的运行信息不低于第一预设指标。
[0037] 可选的,所述处理单元具体用于:
[0038] 当所述告警信息的告警类型为一般告警时,判断所述一般告警是否为首次告警,若是,则关闭所述一般告警,并将所述一般告警更新至第三数据库,通知工作人员以使所述工作人员设置所述一般告警的处理措施;否则,关闭所述一般告警,并执行所述一般告警的处理措施;
[0039] 当所述告警信息的告警类型为高危告警时,则确定所述第一服务器是否为故障服务器。
[0040] 可选的,所述处理单元具体用于:
[0041] 当所述第一服务器的告警信息指示所述第一服务器的数据处理信息不满足第二预设指标时,根据所述第一服务器在所属系统中的定位信息,确定位于所述第一服务器上游的第二服务器;若确定所述第二服务器是故障服务器,则确定所述第一服务器不是故障服务器;或
[0042] 所述处理单元具体用于:
[0043] 根据所述告警信息中的所述第一服务器的标识,从第一数据库中获取所述第一服务器的版本信息;若确定所述告警信息是所述第一服务器处于版本状态变化时所导致的,则确定所述第一服务器不是故障服务器;所述第一数据库中记录有所述系统中各服务器的版本状态。
[0044] 可选的,所述处理单元具体用于:
[0045] 根据所述第一处理措施,从第二数据库中调用所述第一处理措施对应的脚本信息,以实现对所述第一服务器执行所述第一处理措施;所述第二数据库中记录有针对所述系统中各服务器的处理措施对应的脚本信息。
[0046] 可选的,所述第一处理措施用于指示隔离所述第一服务器;
[0047] 所述处理单元具体用于:
[0048] 向所述系统对应的消息中间件发送第一关闭指令,所述第一关闭指令包括所述第一服务器的标识和第一时长,所述第一关闭指令用于指示所述消息中间件隔离所述第一服务器的时长为所述第一时长;或
[0049] 向所述第一服务器发送第二关闭指令,用于指示所述第一服务器关闭运行在所述第一服务器上的业务实例;或
[0050] 向所述第一服务器的电源接口发送第三关闭指令,用于指示所述电源接口关闭,以使所述第一服务器断电。
[0051] 可选的,所述处理单元具体用于:
[0052] 根据所述告警信息中的所述第一服务器的标识,从第三数据库中获取所述第一服务器的历史故障信息和对应的处理措施;所述第三数据库用于存储所述系统中各服务器的历史故障信息和对应的处理措施;
[0053] 结合所述告警信息中的故障信息、所述第一服务器的历史故障信息和对应的处理措施,生成针对所述第一服务器的第一处理措施。
[0054] 相应的,本发明实施例还提供了一种计算设备,包括:
[0055] 存储器,用于存储程序指令;
[0056] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述基于告警的运维方法。
[0057] 相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述基于告警的运维方法。

附图说明

[0058] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059] 图1为本发明实施例提供的一种系统架构的示意图;
[0060] 图2为本发明实施例提供的一种自动化处理系统的结构示意图;
[0061] 图3为本发明实施例提供的一种基于告警的运维方法的流程示意图;
[0062] 图4为本发明实施例提供的另一种基于告警的运维方法的流程示意图;
[0063] 图5为本发明实施例提供的一种基于告警的运维装置的结构示意图。

具体实施方式

[0064] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0065] 图1示例性的示出了本发明实施例提供基于告警的运维方法所适用的系统架构,该系统架构可以包括金融业务系统100、监控系统200、自动化处理系统300、数据库系统400。
[0066] 金融业务系统100即用于执行金融业务的系统,该金融业务系统100可以适用于分布式场景,即金融业务系统100可以包括多个集群,其每个集群可以运行多个业务实例。
[0067] 监控系统200可以监控金融业务系统100的各项指标,监控系统200可以包括交易监控系统和资源监控系统,交易监控系统用于监控金融业务系统100的交易业务的访问量、请求量等;资源监控系统用于对金融业务系统100中服务器、操作系统、消息中间件、应用进行全面的监控,如监控服务器的CPU、内存、网卡等。交易监控系统例如IMS系统,资源监控系统例如Falcon系统。
[0068] 自动化处理系统300用于对监控系统200的告警信息进行自动化处理,即接收到监控系统200发送的告警信息后,可以自动识别告警信息的类别,以及针对不同类别对告警信息进行自动化处理。
[0069] 数据库系统400可以分为措施数据库,版本数据库、配置管理数据库。措施数据库用于存储系统中各服务器的历史故障信息和对应的处理措施,即配置有相关异常场景的处理措施,措施数据库例如SOP(Standard Operating Procedure,标准作业程序);版本数据库用于存储系统中各服务器的版本状态,如某服务器的当前版本信息以及所处的版本状态是正在升级版本;配置管理数据库存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性,配置管理数据库例如CMDB(Configuration Management Database,配置管理数据库)。
[0070] 本发明实施例中,自动化处理系统300可以包括告警接入模块310、告警分析模块320、高可用引擎模块330、通用自动化处理模块340、特殊自动化处理模块350、告警信息运营模块360及处理信息通知模块370,可以如图2所示。
[0071] 1、告警接入模块310
[0072] 告警接入模块310用于接收生产上所有的告警信息。具体的,(1)接收主机、网络、数据库等基础资源方面的告警信息,该告警信息可以通过Falcon系统发送至自动化处理系统300;(2)接收金融业务系统100产生的业务方面的告警信息,该告警信息可以通过IMS系统发送至自动化处理系统300,该告警信息可以包括服务器的内存状况、线程池使用情况等。
[0073] 2、告警分析模块320
[0074] 告警分析模块320用于对输入的告警信息进行分析匹配,并给出告警判断及对应的操作建议,可选的,告警分析模块320将输入的告警信息与相关SOP匹配,并结合历史告警及当前系统的发布情况综合判断该告警的影响等级及操作方法。
[0075] 本发明实施例可以分两步执行:SOP库查询和历史告警匹配。其中,SOP库查询:查询业务系统故障预处理机制库,相当于措施数据库,匹配对应故障处理步骤;历史告警匹配:在SOP库查询后分析该业务系统历史告警信息,包括最近一次告警、近七天告警及三天内的版本情况,同时结合SOP库中记录的处理方法及当前的健康状态(主句,网络,数据库,jvm等的综合评分)给出对应的处理措施。
[0076] 3、高可用引擎模块330
[0077] 高可用引擎模块330用于保证金融业务系统100在分布式场景下的故障自动处理中的高可用性,示例性的,故障处理过程中可能会出现多个业务系统同时故障或者一个系统中多个实例故障的情况,此时故障的自动化处理需要在快速处理的同时保证系统的高可用性,在高可用引擎模块330的协助下按最优步骤执行。
[0078] 高可用引擎模块330通过实时计算各个系统各个集群中的实例数量、故障发生过程中故障点的大致定位、系统的基础资源情况,确定告警分析模块320生成的处理措施是否可行。示例性的,高可用引擎模块330可以对网络、数据库、主机资源状态判断,如当系统某台主机故障,高可用引擎模块330将判断当下的系统实例停止是否会满足系统可用状态来判断是否隔离此实例。
[0079] 本发明实施例中,可以通过高可用引擎模块330评估金融业务系统100执行处理措施前后的运行信息,如业务数据的吞吐量、处理数据耗时、资源消耗量等,进而判断是否要执行此处理措施。
[0080] 4、通用自动化处理模块340
[0081] 通用自动化处理模块340用于通用场景下的故障自动化处理。在统一开发环境下,大部分系统的重启、隔离、停止及版本回滚都具体相似性,通过通用自动化处理模块340可对系统的异常统一执行这四类操作,降低因脚本不统一带来的风险,提高解决效率。此模块针对的主要为基础资源类异常,如消息拥堵时对故障服务器的业务实例执行隔离,交易量异常下对系统执行健康检测。
[0082] 5、特殊自动化处理模块350
[0083] 特殊自动化处理模块350用于部分特殊系统及各类服务器特有故障场景下的自动化处理脚本的管理。针对部分不统一的系统及特有故障场景的检查及处理,可通过本模块配置对应的自动化脚本。
[0084] 需要说明的是,通用自动化处理模块340和特殊自动化处理模块350都设置有对应的高可用检查代码,从而确保自动化脚本在执行前可对系统做一次全面确认检查。
[0085] 6、告警信息运营模块360
[0086] 告警信息运营模块360用于各类告警信息的统一管理及数据运营。具体的,针对现阶段各类告警数据杂乱繁多,包含各类可能的隐患,告警信息运营模块360通过挖掘每日告警信息与历史数据做大数据对比,将每日告警信息做归类整理,以提供给工作人员,工作人员更新对应的SOP库,以方便后续的自动化运维工作,形成整个自动化运维的闭环。
[0087] 7、处理信息通知模块370
[0088] 处理信息通知模块370用于将各类告警信息及自动化处理后的结果通知到各运维的工作人员,从而实现工作人员及时更新系统状态。
[0089] 基于上述描述,图3示例性的示出了本发明实施例提供的一种基于告警的运维方法的流程,该流程可以由基于告警的运维装置执行。
[0090] 如图3所示,该流程具体包括:
[0091] 步骤301,接收第一服务器的告警信息。
[0092] 该第一服务器即金融业务系统中某个服务器,该告警信息可以是监控系统监控到的并发送至自动化处理系统。第一服务器的告警信息中可以包括第一服务器的标识、第一服务器的故障信息等。
[0093] 步骤302,根据告警信息的告警类型,确定第一服务器是否为故障服务器,若是,则根据告警信息生成针对第一服务器的第一处理措施。
[0094] 告警信息的告警类型分为一般告警和高危告警。当告警信息的告警类型为一般告警时,判断一般告警是否为首次告警,若是,则关闭一般告警,并将一般告警更新至第三数据库,即措施数据库,通知工作人员以使工作人员设置一般告警的处理措施;否则,关闭一般告警,并执行一般告警的处理措施;当告警信息的告警类型为高危告警时,则确定第一服务器是否为故障服务器。
[0095] 此处,可以根据第一服务器的告警信息判断该第一服务器是否为故障服务器,通过预设的规则,将非故障服务器滤除,具体的,在确定第一服务器不是故障服务器时,至少可以有以下两种情况:
[0096] 情况一:当第一服务器的告警信息指示第一服务器的数据处理信息不满足第二预设指标时,根据第一服务器在所属系统中的定位信息,确定位于第一服务器上游的第二服务器,若确定第二服务器是故障服务器,则确定第一服务器不是故障服务器。该情况解释为,当某个上游服务器故障时,会影响下游服务器的处理时效,根据服务器间存有的调用关联关系,并不会将该下游服务器确定为故障服务器,而是会先对上游服务器做自动化处理。
[0097] 情况二:根据告警信息中的第一服务器的标识,从第一数据库中获取第一服务器的版本信息,若确定告警信息是第一服务器处于版本状态变化时所导致的,则确定第一服务器不是故障服务器;其中,第一数据库中记录有系统中各服务器的版本状态。此处的第一数据库即版本数据库。
[0098] 在确定第一服务器是故障服务器之后,可以根据告警信息生成针对第一服务器的第一处理措施,此时,需要考虑该第一服务器在历史记录中的故障信息和针对每次的故障所采取的处理措施,可以根据第一服务器的标识从第三数据库中查询,该第三数据库即措施数据库,具体的,根据告警信息中的第一服务器的标识,从第三数据库中获取第一服务器的历史故障信息和对应的处理措施,并将第一服务器的告警信息中的故障信息、第一服务器的历史故障信息和对应的处理措施结合起来,生成针对第一服务器的第一处理措施。
[0099] 在具体实现中,在接收到第一服务器的告警信息时,可以先对该告警信息进行告警评级,综合考虑的因素有:告警关键字、系统业务量分析、时延、上下游系统是否有关联告警、历史告警信息等,对这些考虑因素进行加权处理,从而确定出告警评级。此处,历史告警信息可以考虑该第一服务器在历史上或者历史上预设时段的告警次数、告警等级、处理方法等。可以将告警评级划分为一般告警和高危告警。
[0100] 针对一般告警,可以依据第三数据库中的处理方法自动处理告警,此时,若该一般告警是首次告警,则可以通知到工作人员,以使工作人员进行人工处理,并将处理措施更新至第三数据库中;针对高危告警可以进一步确定是否可以自动化处理该告警,若是,则生成自动化处理措施,即第一处理措施;否则,需要通知到工作人员,以使工作人员进行人工处理,并将处理措施更新至第三数据库中。
[0101] 步骤303,结合第一服务器所属系统的运行信息和资源信息判断第一处理措施是否符合高可用条件。
[0102] 此处,系统的运行信息包括系统中各服务器的运行信息,如各服务器的业务处理量、业务时延等,系统的资源信息包括系统中各服务器的硬件信息,如各服务器的CPU、内存、连接关系等。
[0103] 高可用条件是预先设定的用于指示对第一服务器执行第一处理措施后,系统的运行信息不低于第一预设指标。例如,当前金融业务系统的业务处理量为a,某服务器出现故障,则先要评估对该服务器进行处理后的金融业务系统的业务处理量b与业务处理量a的关系,例如,若b>a或者b不小于(a×90%),则确定该第一处理措施符合高可用条件。
[0104] 步骤304,若符合所述高可用条件,则对第一服务器执行第一处理措施。
[0105] 第一处理措施可以是通用措施或特殊措施,针对通用措施,可以采用通用自动化处理模块执行,该通用自动化处理模块中设置有重启、隔离、停止及版本回滚等通用措施的脚本信息,适用于大部分服务器,通过设置该类脚本信息可以降低因脚本不统一带来的风险,提高解决效率。
[0106] 一种实现方式中,第一处理措施可以为设置将第一服务器进行隔离,具体的,可以将第一服务器隔离或者停用第一服务器中运行的业务实例,若第一服务器通过消息中间件与其他服务器连接,消息中间件为系统中用于传递消息的服务器,该消息中间件可以接收服务器发送的消息并将该消息发送至对应的其他服务器上,即可以控制发送方是否可以发送消息以及接收方是否可以接收消息,在执行第一处理措施时,可以向消息中间件发送第一关闭指令,其中,该第一关闭指令中包括第一服务器的标识和第一时长,消息中间件可以将该第一服务器隔离第一时长,如第一关闭指令中的第一时长为5min,则消息中间件可以将该第一服务器隔离5min,并在5min后取消对该第一服务器的隔离。若第一服务器直接与其他服务器连接,则可以直接关闭第一服务器上的业务实例,此时可以通过第一服务器登录该业务实例,向第一服务器上发送第二关闭指令,该第二关闭指令即用于关闭运行在第一服务器上的业务实例。当第一服务器上已无法登录至该业务实例时,可以直接关闭第一服务器的电源,示例性的,该第一服务器上设置有电源接口,可以直接向该电源接口发送第三关闭指令,用于指示电源接口关闭,以达到第一服务器断电。
[0107] 针对特殊措施,可以针对每个服务器的故障信息设置于该服务器相对应的脚本信息,并将系统中各服务器与各服务器的脚本信息对应存储至第二数据库中,具体实现中,根据第一处理措施,从第二数据库中调用第一处理措施对应的脚本信息,以实现对第一服务器执行第一处理措施。
[0108] 为了更好的解释本发明实施例,下面将在具体的实施场景下描述该基于告警的运维流程,如图4所示,具体如下:
[0109] 告警分析模块在接收到告警信息后,判断该告警信息是一般告警还是高危告警。若是一般告警,则判断该一般告警是首次告警还是历史告警,首次告警即措施数据库中未存储有该告警所对应的处理措施,历史告警即措施数据库中已经存储有该告警所对应的处理措施。若是首次告警,则需要通知运维人员进行手动处理,并将处理措施自动更新至措施数据库,即自动上报对应优化项,若是历史告警,则可以综合措施数据库中的处理措施,生成相应的处理措施,自动化进行告警处理,以及关闭告警,通知运维人员执行情况。
[0110] 若是高危告警,则判断该高危告警是否可以自动化执行,即判断措施数据库中是否有该高危告警对应的处理措施,若是,则需要进一步判断处理措施是否通过高可用引擎的高可用条件,若是,则执行该处理措施对应的自动化脚本,否则,通知运维人员手动处理。当可以执行自动化脚本时,在执行完毕后可以自动上报对应优化项,以及通知运维人员执行情况。当不可以执行自动化脚本时,运维人员在进行手动处理后,可以完善对应自动化脚本信息,以及配置对应的自动优化选项。
[0111] 上述技术方案中,当接收到第一服务器的告警信息后,可以先判断该第一服务器是否为故障服务器,若是,才会生成该第一服务器的第一处理措施,避免对服务器进行不必要的运维处理,以影响整个系统的正常运营;进一步的,在生成该第一服务器的第一处理措施之后,结合该第一服务器所属系统的运行信息和资源信息对该第一处理措施进行判断,确定其是否符合高可用性条件,若是,则对该第一服务器执行该第一处理措施,保障系统的高可用性,进一步避免由于一个服务器的运维工作影响整个系统的正常运营。且采用自动化的处理方案,提高故障处理效率。
[0112] 基于同一发明构思,图5示例性的示出了本发明实施例提供的一种基于告警的运维装置的结构,该装置可以执行基于告警的运维方法的流程。
[0113] 该装置,包括:
[0114] 接收单元501,用于接收第一服务器的告警信息;
[0115] 处理单元502,用于根据所述告警信息的告警类型,确定所述第一服务器是否为故障服务器,若是,则根据所述告警信息生成针对所述第一服务器的第一处理措施;结合所述第一服务器所属系统的运行信息和资源信息判断所述第一处理措施是否符合高可用条件;若符合所述高可用条件,则对所述第一服务器执行所述第一处理措施;
[0116] 所述系统的运行信息包括所述系统中各服务器的运行信息;所述系统的资源信息包括所述系统中各服务器的硬件信息;所述高可用条件是预先设定的用于指示对所述第一服务器执行所述第一处理措施后,所述系统的运行信息不低于第一预设指标。
[0117] 可选的,所述处理单元502还用于:
[0118] 当所述告警信息的告警类型为一般告警时,判断所述一般告警是否为首次告警,若是,则关闭所述一般告警,并将所述一般告警更新至第三数据库,通知工作人员以使所述工作人员设置所述一般告警的处理措施;否则,关闭所述一般告警,并执行所述一般告警的处理措施;
[0119] 当所述告警信息的告警类型为高危告警时,则确定所述第一服务器是否为故障服务器。
[0120] 可选的,所述处理单元502具体用于:
[0121] 当所述第一服务器的告警信息指示所述第一服务器的数据处理信息不满足第二预设指标时,根据所述第一服务器在所属系统中的定位信息,确定位于所述第一服务器上游的第二服务器;若确定所述第二服务器是故障服务器,则确定所述第一服务器不是故障服务器;或
[0122] 所述处理单元502具体用于:
[0123] 根据所述告警信息中的所述第一服务器的标识,从第一数据库中获取所述第一服务器的版本信息;若确定所述告警信息是所述第一服务器处于版本状态变化时所导致的,则确定所述第一服务器不是故障服务器;所述第一数据库中记录有所述系统中各服务器的版本状态。
[0124] 可选的,所述处理单元502具体用于:
[0125] 根据所述第一处理措施,从第二数据库中调用所述第一处理措施对应的脚本信息,以实现对所述第一服务器执行所述第一处理措施;所述第二数据库中记录有针对所述系统中各服务器的处理措施对应的脚本信息。
[0126] 可选的,所述第一处理措施用于指示隔离所述第一服务器;
[0127] 所述处理单元502具体用于:
[0128] 向所述系统对应的消息中间件发送第一关闭指令,所述第一关闭指令包括所述第一服务器的标识和第一时长,所述第一关闭指令用于指示所述消息中间件隔离所述第一服务器的时长为所述第一时长;或
[0129] 向所述第一服务器发送第二关闭指令,用于指示所述第一服务器关闭运行在所述第一服务器上的业务实例;或
[0130] 向所述第一服务器的电源接口发送第三关闭指令,用于指示所述电源接口关闭,以使所述第一服务器断电。
[0131] 可选的,所述处理单元502具体用于:
[0132] 根据所述告警信息中的所述第一服务器的标识,从第三数据库中获取所述第一服务器的历史故障信息和对应的处理措施;所述第三数据库用于存储所述系统中各服务器的历史故障信息和对应的处理措施;
[0133] 结合所述告警信息中的故障信息、所述第一服务器的历史故障信息和对应的处理措施,生成针对所述第一服务器的第一处理措施。
[0134] 基于同一发明构思,本发明实施例还提供了一种计算设备,包括:
[0135] 存储器,用于存储程序指令;
[0136] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述基于告警的运维方法。
[0137] 基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述基于告警的运维方法。
[0138] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个服务器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0139] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0140] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0141] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0142] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。