一种基于脚本的业务故障定位引擎实现方法与流程

文档序号:12889916阅读:259来源:国知局
一种基于脚本的业务故障定位引擎实现方法与流程

本发明涉及一种故障定位方法,尤其涉及一种基于脚本的业务故障定位引擎实现方法。



背景技术:

自动化流程,是由一系列节点组成的一棵决策树,每个节点包含一个脚本。

当发生故障时,通过自动或手动方式调用流程,流程引擎根据输入的参数、执行过程中的输出,选择一条执行路径,输出执行结论。

在配置过程中,每个节点都需要指定参数来源、下一个节点的流向,最后输出执行结果,执行结果可以通过图表直观地展示。

但目前的技术方案存在如下问题:

1)利用linux系统自带定时调度功能执行脚本,是否成功很难知道;

2)对于多个脚本之间有前后执行顺序的情况,linux调度很难管理这种依赖顺序的脚本。

由上可见,为了需要解决linux调度执行脚本的状态和脚本之间前后顺序依赖关系的问题,有必要对现有的业务故障定位方法进行改进。



技术实现要素:

本发明所要解决的技术问题是提供一种基于脚本的业务故障定位引擎实现方法,通过调用故障诊断方案,提供方案的输入参数,进行诊断分析,生成诊断报告以及诊断日志,方便维护人员对故障进行处理,提高工作效率,同时降低维护人员的工作量和维护成本。

本发明为解决上述技术问题而采用的技术方案是提供一种基于脚本的业务故障定位引擎实现方法,包括以下步骤:

获取所有故障诊断脚本,每个故障诊断脚本包括输入参数和输出参数;

由至少一个故障诊断脚本构成一个步骤,每个步骤指定输入参数和输出参数;

每个步骤对应一个节点,不同节点之间预先按对应步骤之间的关联关系进行配置形成不同的执行路径,每条执行路径对应一个故障诊断方案;

当业务发生故障时,采用任务调度方式判断输入参数是否合法,若所述输入参数合法,则根据预先配置的不同节点之间的执行路径,在相对应的步骤之间传递参数,并执行相应步骤中的故障诊断脚本,生成多种诊断报告。

进一步地,还包括以下步骤:

若所述输入参数不合法,则给出提示信息,要求重新输入参数。

进一步地,还包括以下步骤:

在生成诊断报告之后,还生成诊断日志,所述诊断日志记录每个节点输出,并将最后一个节点的输出作为诊断结论。

进一步地,所述诊断日志以列表或图形方式展示,所述诊断日志包括任务名称、方案名称、状态结论、开始时间、结束时间和详细信息。

进一步地,所述故障诊断脚本的输出参数采用字符串表示,并按分隔符进行分隔;每个步骤的输入参数作为该步骤内第一个故障诊断脚本的输入参数,所述第一个故障诊断脚本执行完成后返回一个字符串,按分隔符进行分隔返回输出参数,并将输出参数作为下一个故障诊断脚本的输入参数,最后一个故障诊断脚本的输出参数作为该步骤的输出参数。

进一步地,所述故障诊断方案为zabbix_agent异常诊断,所述故障诊断方案通过新增任务进行配置,输入参数为zabbix_agent配置文件和目标ip,输出参数为目标状态和日志信息,新增任务配置由如下节点依次相连形成一条执行路径:检查目标到服务端ip的连通性、检查目标ipzabbix_agent状态、输出目标ip不能连接、查看端口是否开启、开启目标ipzabbix_agent进程、查看代理端配置文件以及查看代理端日志。

进一步地,所述故障诊断方案采用步骤表、步骤关联表和步骤参数表存储节点之间的执行路径;采用任务表和任务信息表自动或手动调用故障诊断方案;并通过日志表和历史表记录诊断日志,所述日志表中一条记录对应诊断任务的执行,所述历史表中一条记录对应一个故障诊断脚本的执行。

本发明提出的一种基于脚本的业务故障定位引擎实现方法,通过调用故障诊断方案,提供方案的输入参数,进行诊断分析,生成诊断报告以及诊断日志,方便维护人员对故障进行处理,提高工作效率,同时降低维护人员的工作量和维护成本。

附图说明

图1是本发明实施例中的一种基于脚本的业务故障定位引擎实现方法的流程图;

图2是本发明另一实施例中的一种基于脚本的业务故障定位引擎实现方法的流程图;

图3是本发明实施例中一种基于脚本的业务故障定位引擎实现方法的脚本方案配置图。

具体实施方式

本发明实施例中的一种基于脚本的业务故障定位引擎实现方法,通过调用故障诊断方案,提供方案的输入参数,进行诊断分析,生成诊断报告以及诊断日志,方便维护人员对故障进行处理,提高工作效率,同时降低维护人员的工作量和维护成本。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1是本发明实施例中的一种基于脚本的业务故障定位引擎实现方法。如图1所示,本发明提供的基于脚本的业务故障定位引擎实现方法,包括以下步骤:

步骤101获取所有故障诊断脚本,每个故障诊断脚本包括输入参数和输出参数;步骤102由至少一个故障诊断脚本构成一个步骤,每个步骤指定输入参数和输出参数;步骤103每个步骤对应一个节点,不同节点之间预先按对应步骤之间的关联关系进行配置形成不同的执行路径,每条执行路径对应一个故障诊断方案;步骤104当业务发生故障时,采用任务调度方式判断输入参数是否合法,步骤105若所述输入参数合法,则根据预先配置的不同节点之间的执行路径,在相对应的步骤之间传递参数,并执行相应步骤中的故障诊断脚本,生成多种诊断报告;步骤106若所述输入参数不合法,则给出提示信息,要求重新输入参数。

图2是本发明另一实施例中的一种基于脚本的业务故障定位引擎实现方法,包括以下步骤:

步骤201获取所有故障诊断脚本,每个故障诊断脚本包括输入参数和输出参数;步骤202由至少一个故障诊断脚本构成一个步骤,每个步骤指定输入参数和输出参数;步骤203每个步骤对应一个节点,不同节点之间预先按对应步骤之间的关联关系进行配置形成不同的执行路径,每条执行路径对应一个故障诊断方案;步骤204当业务发生故障时,采用任务调度方式判断输入参数是否合法,步骤205若所述输入参数合法,则根据预先配置的不同节点之间的执行路径,在相对应的步骤之间传递参数,并执行相应步骤中的故障诊断脚本,生成多种诊断报告;步骤206若所述输入参数不合法,则给出提示信息,要求重新输入参数;步骤207在生成诊断报告之后,还生成诊断日志,所述诊断日志记录每个节点输出,并将最后一个节点的输出作为诊断结论。其中,所述故障诊断方案内部工作流可能存在多条执行路径,根据节点连接器规则进行流转,相应的,可能会生成多种诊断报告。由有经验的运维人员配置诊断方案,每个节点对应一个步骤。根据故障的内容,配置一套流程,在执行过程中,可以根据某个节点的输出,进行流程扭转。图3是本发明实施例中一种基于脚本的业务故障定位引擎实现方法的脚本方案配置图。如图3所示,配置了3条执行路径,包括路径1-2-4,路径1-2-5,路径1-3-6,对应的,有3中诊断报告,实际应用场景可能更复杂,一个节点可能分出多条执行路径,但其工作原理是一样的。

在具体实施中,所述诊断日志以列表或图形方式展示,所述诊断日志包括任务名称、方案名称、状态结论、开始时间、结束时间和详细信息。

所述脚本包括以下内容:输入参数的表达式,即执行一个故障诊断脚本需要的参数;输出参数的表达式,即所述故障诊断脚本执行完成后的输出参数;输出参数的分隔符,即所述故障诊断脚本执行完成后返回一个字符串,按分隔符进行分隔,一一对应为所述输出参数。每个步骤需要指定输入参数和输出参数,作为构建方案的寄出。在执行方案的过程中,方案只需要在步骤间传递参数,由步骤将参数传递给最终执行的故障诊断脚本。其中,所述故障诊断脚本的输出参数采用字符串表示,并按分隔符进行分隔;每个步骤的输入参数作为该步骤内第一个故障诊断脚本的输入参数,所述第一个故障诊断脚本执行完成后返回一个字符串,按分隔符进行分隔返回输出参数,并将输出参数作为下一个故障诊断脚本的输入参数,最后一个故障诊断脚本的输出参数作为该步骤的输出参数。

在发生故障时,可以用自动或手动方式调用方案,输入方案的输入参数,系统将之视为一次任务,执行本次任务,生成诊断日志与诊断结论。

在具体实施中,所述故障诊断方案为zabbix_agent异常诊断,所述故障诊断方案通过新增任务进行配置,输入参数为zabbix_agent配置文件和目标ip,输出参数为目标状态和日志信息,新增任务配置由如下节点依次相连形成一条执行路径:检查目标到服务端ip的连通性、检查目标ipzabbix_agent状态、输出目标ip不能连接、查看端口是否开启、开启目标ipzabbix_agent进程、查看代理端配置文件以及查看代理端日志。

在具体实施中,所述故障诊断方案采用步骤表、步骤关联表和步骤参数表存储节点之间的执行路径;采用任务表和任务信息表自动或手动调用故障诊断方案;并通过日志表和历史表记录诊断日志,所述日志表中一条记录对应诊断任务的执行,所述历史表中一条记录对应一个故障诊断脚本的执行。

所述诊断日志包括日志表和历史表,所述日志表是一条记录对应诊断任务的执行,所述历史表示一条记录对应一个故障诊断脚本的执行。

本发明提出的一种基于脚本的业务故障定位引擎实现方法,通过调用故障诊断方案,提供方案的输入参数,进行诊断分析,生成诊断报告以及诊断日志,方便维护人员对故障进行处理,提高工作效率,同时降低维护人员的工作量和维护成本。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1