一种应用系统健康检查方法及系统与流程

文档序号:12463806阅读:390来源:国知局
一种应用系统健康检查方法及系统与流程

本发明涉及数据处理技术领域,更具体的说,是涉及一种应用系统健康检查方法及系统。



背景技术:

在银行系统中,需要为用户提供各种服务,这些服务都是通过各种运维服务器实现的。

为了保障服务的正常运行,运维人员需要定期对运维服务器进行健康检查,来发现系统运行是否存在异常和风险。

通常,使用的健康检查方法是运维人员使用各种指令或软件获取需要检查项目的数据,例如:判断CPU的负载,利用系统中所自带的任务管理功能获得CPU的负载,然后,凭借个人的知识、经验进行判断,看服务器的负载是否在正常范围中。

但是,这种人为判定的方式主观性强,检查的结果常常不准确,且当需要进行健康检查的服务器数量较多或者需要检查的项目较多时,花费的时间较长,劳动强度高。



技术实现要素:

有鉴于此,本发明提供了一种应用系统健康检查方法即系统,以克服现有技术中由于人为判定而造成的结果不准确、劳动强度高的问题,提高应用系统健康检查的准确性,大大降低了运维人员的劳动强度。

为实现上述目的,本发明提供如下技术方案:

本发明提供一种应用系统健康检查方法,包括:

采集应用系统中与预设采集实例相对应的样本数据,并将所述样本数据保存到检查项采集文件中,同时输出包含与该预设采集实例相对应的预设检查项规则的规则定义文件;所述预设采集实例用于表征对所述应用系统进行健康检查的项目类型;

根据所述预设检查项规则判断所述样本数据与所述预设采集实例对应的参考阈值文件中的参考数据之间的关系,所述参考数据用于表征所述预设采集实例处于正常状态;

根据该关系输出用于表征所述应用系统是否存在异常的健康检查结果,

使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新。

优选的,所述根据所述预设检查项规则判断所述样本数据与所述预设采集实例对应的参考阈值文件中的参考数据之间的关系包括:

解析所述规则定义文件,获取与所述预设采集实例相对应的预设检查规则;所述预设检查规则包括有效阈值范围和自动阈值范围;

若所述样本数据处于所述有效阈值范围中,则对样本数据与参考数据进行运算,得到运算结果,判断所述运算结果是否符合所述自动阈值范围,若符合所述自动阈值范围,则确定所述样本数据处于正常状态,否则,确定所述样本数据处于异常状态。

优选的,根据该关系输出用于表征所述应用系统是否存在异常的健康检查结果包括:

当任意一个样本数据处于异常状态时,则输出所述应用系统处于异常状态的检查结果,否则输出所述应用系统处于正常状态的检查结果。

优选的,所述使使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新之前还包括:

判断是否存在参考阈值文件,若否,利用所述检查项采集文件生成参考阈值文件。

优选的,其特征在于,在采集应用系统中与预设采集实例相对应的样本数据之前还包括:

判断所述应用系统的操作系统类型;

调用与所述操作系统类型相匹配的代码。

本发明另一方面提供一种应用系统健康检查系统,包括:

采集模块,用于采集应用系统中与预设采集实例相对应的样本数据,并将所述样本数据保存到检查项采集文件中,同时输出包含与该预设采集实例相对应的预设检查项规则的规则定义文件;所述预设采集实例用于表征对所述应用系统进行健康检查的项目类型;

检查模块,用于根据所述预设检查项规则判断所述样本数据与所述预设采集实例对应的参考阈值文件中的参考数据之间的关系,所述参考数据用于表征所述预设采集实例处于正常状态;

输出模块,用于根据该关系输出用于表征所述应用系统是否存在异常的健康检查结果,

更新模块,用于使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新。

优选的,所述检查模块包括:

解析单元,用于解析所述规则定义文件,获取与所述预设采集实例相对应的预设检查规则;所述预设检查规则包括有效阈值范围和自动阈值范围;

确定单元,用于若所述样本数据处于所述有效阈值范围中,则对样本数据与参考数据进行运算,得到运算结果,判断所述运算结果是否符合所述自动阈值范围,若符合所述自动阈值范围,则确定所述样本数据处于正常状态,否则,确定所述样本数据处于异常状态。

优选的,所述输出模块包括:

输出单元,用于当任意一个样本数据处于异常状态时,则输出所述应用系统处于异常状态的检查结果,否则输出所述应用系统处于正常状态的检查结果。

优选的,还包括:

生成模块,用于判断是否存在参考阈值文件,若否,利用所述检查项采集文件生成参考阈值文件。

优选的,还包括:

匹配模块,用于判断所述应用系统的操作系统类型;

调用与所述操作系统类型相匹配的代码。

经由上述的技术方案可知,与现有技术相比,本发明公开了一种应用系统健康检查方法及系统,采集应用系统中与预设采集实例相对应的样本数据,并将所述样本数据保存到检查项采集文件中,同时输出包含与该预设采集实例相对应的预设检查项规则的规则定义文件;所述预设采集实例用于表征对所述应用系统进行健康检查的项目类型;根据所述预设检查项规则判断所述样本数据与所述预设采集实例对应的参考阈值文件中的参考数据之间的关系,根据该关系输出用于表征所述应用系统是否存在异常的健康检查结果,所述参考阈值文件中的样本数据用于表征所述预设采集实例处于正常状态下的参考数据;使用所述检查项采集文件中的样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考阈值文件中的参考数据进行更新。可以看出,本发明可以自动采集应用系统中需要进行健康检查的项目,自动对其进行分析和判断,得到应用系统是否处于异常的健康检查结果,因此可以避免人为判定而带来的结果不准确的问题,降低了劳动强度,并且利用采集的样本数据对参考阈值文件中的参考数据进行更新,使得健康检查方法可以自动适应近期的检查结果,免于人工维护。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例一公开的一种应用系统健康检查方法流程示意图;

图2为本发明实施例二公开的另一种应用系统健康检查方法流程示意图;

图3为本发明提供的一种应用系统健康检查系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

由背景技术可知,现有技术中,使用的健康检查方法是运维人员使用各种指令或软件获取需要检查项目的数据,这种方法费时费力,并且需要依靠个人经验对应用系统健康状况进行判断,准确度不能得到保证。

为此,本发明公开了一种应用系统健康检查方法,在使用预设采集实例采集到应用系统的样本数据后,对样本数据与参考阈值文件中的参考数据进行比较,判断是否符合预设检查项规则,得到应用系统是否存在异常的检查结果,并使用采集到的样本数据利用预设阈值更新规则对参考阈值文件中的参考数据进行更新。

有关于该应用系统健康检查方法流程以及该该应用系统健康检查的装置的具体结构将通过以下实施例进行详细描述。

实施例一

请参阅附图1,为本发明实施例一公开的一种应用系统健康检查方法流程示意图。

本发明提供了一种应用系统健康检查方法,包括:

S101、采集应用系统中与预设采集实例相对应的样本数据,并将所述样本数据保存到检查项采集文件中,同时输出包含与该预设采集实例相对应的预设检查项规则的规则定义文件;所述预设采集实例用于表征对所述应用系统进行健康检查的项目类型;

本申请实施例中,应用系统健康检查方法可以设置成多个程序,如健康检查主程序、检查项信息采集程序、阈值更新程序等。在对应用系统进行健康检查时,运行健康检查主程序,调用检查项信息采集程序。调用检查项信息采集程序是使用同步调用的方式。

其中,健康项信息采集程序中包括有预设采集实例,预设采集实例用于表征对应用系统进行健康检查的项目类型,例如:线程、端口、CPU负载等,其中,一个类型设置一个预设采集实例。在每个预设采集实例中,可以包括多个在该类型下的具体采集子实例,例如,线程可以设置成A线程、B线程、C线程。而且,在每个预设采集实例中的每一个采集子实例都有唯一的实例名。

需要说明的是,预设采集实例是在开发时预先确定的,主要根据运维需要、知识经验确定需要检查的内容,如:关注系统运行压力,会对CPU使用率、系统负载、内存使用率、IO繁忙率进行检查。每一个预设采集实例代表一个健康检查类型。

采集到样本数据之后,会输出两个文件,一个是Sample检查项采集文件,另一是DEF规则定义文件。在Sample文件中保存样本数据,并且,对应每一个预设采集实例,都对应一个预设检查项规则。检查项采集文件与规则定义文件是一一对应的关系。

在规则定义文件中,包括有预设检查项规则和预设阈值更新规则,其中,预设检查项规则用来判定样本数据所处的状态。而预设阈值更新规则用来对参考阈值文件进行更新,具体如何使用预设阈值更新规则的过程在后文中进行详细介绍。

需要说明的是,每个预设采集实例需要根据自身检查内容及检查结果的数值特点实现检查信息采集程序,并生成统一格式的检查项采集文件以及规则定义文件,以满足后续步骤处理。

在实际使用中,检查项信息采集文件(SAMPLE文件)可以包括如下内容。

文件命名规则:SAMPLE_<检查项英文简称>_<用户名>

例如:在sfmon用户执行进程数检查(英文简称:PROC_NUM)生产的信息采集文件命名为:SAMPLE_PROC_NUM_sfmon。

在该文件中记录每个检查项实例的检查结果信息,每个检查项实例对应一条记录,不能存在重复实例名,每条记录包含的信息依次为:

“采集时间(精确到小时)|实例名长度|实例名…|检查结果|”

如下所示为进程数检查生产的采集文件:

2016031615|3|PROC_NUM|patrol|bgscollect|1

2016031615|3|PROC_NUM|patrol|PatrolAgent|1

2016031615|3|PROC_NUM|hhw|GWADM|2

2016031615|3|PROC_NUM|GWTDOMAIN|2

其中,“|”为字段的分割符,“2016031615”表示信息采集的时间(精确的小时),“3”表示实例名由3个字段组成,“PROC_NUM|patrol|bgscollect”表示实例名,用于区分该检查项不同的检查实例,在这里表示不同的进程。采集时必须保证实例名唯一,“1”表示检查结果,在这里表示该进程的进程数为1。

在实际使用中,检查项检查规则定义文件(DEF文件)可以包括如下内容。

文件命名规则:DEF_<检查项英文简称>_<用户名>

例如:使用sfmon用户执行进程数检查(英文简称:PROC_NUM)生产的检查规则定义文件命名为:DEF_PROC_NUM_sfmon。

该文件中只包含1条记录,用于记录检查项检查结果与阈值的比较规则、阈值更新算法及参数,输出的内容包括以下字段(各字段用“|”分割):

“检查项中文描述|采样数|数据处理算法|数据处理算法参数|允许误差百分比|允许误差值|固定阈值上下限|数值有效范围上下限|采样不存在情况下的默认值”

下表是对各个字段使用进行详细说明

例如:进程数检查生成的检查规则定义文件内容如下:

“进程数|15|VALUE|PERCENTILE|90|10|1||0|”

其中,“进程数”为该检查项的中文描述,“15”保存并使用最近15个检查结果信息最为阈值更新的样本,“VALUE”表示检查结果数据类型为数值型,且存在上下限。“PERCENTILE”表示使用样本中百分位的值作为阈值,“90”表示设置百分位的算法参数为90。“10”表示检查结果在阈值的10%波动范围为正常,否则为异常“1”表示检查结果在阈值的+1,-1范围内波动为正常,否则为异常。

S102、根据所述预设检查项规则判断所述样本数据与所述预设采集实例对应的参考阈值文件中的参考数据之间的关系;

S103、根据该关系输出用于表征所述应用系统是否存在异常的健康检查结果,所述参考数据用于表征所述预设采集实例处于正常状态;

在采集了样本数据后,调用公共的阈值比较程序,这里所说的公共,含义是阈值比较程序是一个公共处理函数,所有的预设采集实例都需要进行比较,将比较过程设置为公共函数,每个预设采集实例都可以使用。

比较检查项采集文件与参考阈值文件,判断检查项采集文件中的每一条样本数据与参考阈值文件中的预设采集实例对应的参考数据之间的关系是否符合预设检查项规则,进而自动输出健康检查结果。健康检查结果用于表征应用系统的健康状态。

需要说明的是,输出健康检查结果后,会自动生成报表,报表中包括每个预设采集实例以及每个采集实例对应的检查结果以及应用系统是否处于健康状态的健康检查结果。当然,还可以使用柱状图的方式输出到电子文件中。极大的方便了运维人员的日常管理。

S104、使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新。

本申请实施例中,在自动判断出应用系统处于的状态后,调用阈值更新程序。通过异步方式调用阈值更新程序,按预设阈值更新规则,即既定的阈值更新算法,利用样本数据对参考数据进行更新。

本申请实施例中,会对参考阈值文件中的参考数据进行更新的操作,更新的规则是使用预设阈值更新规则。

之所以对参考阈值进行更新,是因为了是健康检查方法处于自适应的状态,使其可以根据最近的采集结果自动更新参考阈值中的参考数据。

例如,如果前几次的CPU使用率均在20%左右,而参考阈值文件中始终设置50%,则检查结果不能反映近期服务器的使用情况,因此,利用自适用的方式对其进行更新,根据预设阈值更新规则,更新到30%,这样在后续使用参考阈值文件进行判定时,就可以得到更加符合实际运行状态的检查结果。使得检查方法自适应、免维护。

经由上述的技术方案可知,与现有技术相比,本发明公开了一种应用系统健康检查方法,

采集应用系统中与预设采集实例相对应的样本数据,并将所述样本数据保存到检查项采集文件中,同时输出包含与该预设采集实例相对应的预设检查项规则的规则定义文件;所述预设采集实例用于表征对所述应用系统进行健康检查的项目类型;根据所述预设检查项规则判断所述样本数据与所述预设采集实例对应的参考阈值文件中的参考数据之间的关系,输出用于表征所述应用系统是否存在异常的健康检查结果,所述参考数据用于表征所述预设采集实例处于正常状态;使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新。可以看出,本发明可以自动采集应用系统中需要进行健康检查的项目,自动对其进行分析和判断,得到应用系统是否处于异常的健康检查结果,因此可以避免人为判定而带来的结果不准确的问题,降低了劳动强度,并且利用采集的样本数据对参考阈值文件中的参考数据进行更新,使得健康检查方法可以自动适应近期的检查结果,免于人工维护。

实施例二

图2为本发明实施例二公开的另一种应用系统健康检查方法流程示意图。

S201、采集应用系统中与预设采集实例相对应的样本数据,并将所述样本数据保存到检查项采集文件中,同时输出包含与该预设采集实例相对应的预设检查项规则的规则定义文件;

需要说明的是,步骤S201与步骤S101相同,在此不再赘述。

S202、解析所述规则定义文件,获取与所述预设采集实例相对应的预设检查规则;所述检查规则包括有效阈值范围和自动阈值范围;

本申请实施例中,对规则定义文件进行解析,获取到与预设检查实例对应的相关参数,即获取预设检查规则。其中,所述检查规则中可以定义有效阈值范围和自动阈值范围。

其中,有效阈值范围是指是否需要进行检测的范围,自动阈值范围是指在需要检测范围中的具体阈值范围。

自动阈值是可以根据参考阈值文件的更新而进得到不同的结果的一种判定方式。随着参考阈值文件的更新,每一次利用自动阈值进行运算时,可能得到不同的结果。

当然,还可以设置固定阈值,固定阈值实际上是警戒值,例如如果CPU的使用率超过90%,就说明服务器的处理器处于异常状态,因此,无论执行多少次系统健康检查方法,都需要CPU不超过这个固定阈值。

因此,优选的,在使用自动阈值的规则前,还将样本数据使用固定阈值进行运算,判断其是否超出固定阈值范围,若超出,则确认所述样本数据处于异常状态。

S203、若所述样本数据处于所述有效阈值范围中,则对样本数据与参考数据进行运算,得到运算结果,判断所述运算结果是否符合所述自动阈值范围,若符合所述自动阈值范围,则确定所述样本数据处于正常状态,否则,确定所述样本数据处于异常状态。

本申请实施例中,获取的预设检查规则中若设置了有效阈值范围,则判断样本数据是否在有效阈值范围中,若在有效阈值范围内,则表明需要对应用系统进行健康检测,否则,则不需要进行检查。这样,可以提高系统的运行效率。

然后对样本数据与参考数据进行运算,得到运算结果。具体的运算过程可以包括,使用样本数据除以参考数据,将样本数据与参考数据的百分比作为运算结果,也可以使用样本数据减去参考数据,将样本数据与参考数据的差作为运算结果,等等,可以根据实际需要进行设置。

最后判断运算结果是否符合自动阈值范围。若自动阈值范围设置为百分比,则判断运算结果与百分比的关系,如果超过这个百分比,则确定样本数据不符合自动阈值范围,确定所述样本数据处于正常状态。否则,确定所述样本数据处于异常状态。

优选的,输出用于表征所述应用系统是否存在异常的健康检查结果包括:

当任意一个样本数据处于异常状态时,则输出所述应用系统处于异常状态的检查结果,否则输出所述应用系统处于正常状态的检查结果。

当任意一个样本数据处于异常状态时,就可以确认应用系统处于异常状态,则输出应用系统处于异常状态的检查结果。

当然,由于服务器有可能在出现波动,因此,可以设置为当多个样本数据处于异常状态时,才确定应用系统处于异常状态的检查结果。

S204、使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新。

此步骤S204与步骤S103相同,在此不再赘述。

优选的,所述使使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新之前还包括:

判断是否存在参考阈值文件,若否,利用所述检查项采集文件生成参考阈值文件。

由于参考阈值文件有可能为空,或者参考阈值文件在首次运行时不存在,因此,在更新前,如果参考阈值文件不存在,则将此次采集的检查项采集文件使用预设格式进行编辑后作为阈值文件。

需要说明的是,本申请实施例中的使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新可以通过以下步骤。

将检查项采集文件与参考阈值文件形成实例合集;

读取参考阈值文件中的一条实例名;

若存在于所述检查项采集文件中,则将推送实例默认不存在的默认值到数据分析程序;

若不存在,则判断采集时间是否在阈值更新时间相同,若不同则推送实例检查结果到数据分析程序;

经数据分析程序处理,获取实例的最新阈值;

对所述参考阈值文件进行更新。

需要说明的是,在步骤S202之前,还可以判断是否存在阈值文件,如果不存在,则输出检查结果为空。

优选的,在采集应用系统中与预设采集实例相对应的样本数据之前还包括:

判断所述应用系统的操作系统类型;

调用与所述操作系统类型相匹配的代码执行后续步骤。

本申请实施例中,考虑到由于服务器的操作系统是有多种,而多种操作系统之间的命令和脚本运行指令有可能不同,因此,对差异的代码进行了封装,在执行本申请的健康检查方法之前,还判断服务器所处的操作系统类型,调用与该操作系统相匹配的代码。这样,不管是哪一种类型的操作系统,例如Linux、AIX、HPUX,均可以输出相同的结果。

实际使用中,为得到同一个检查结果,在不同的操作系统上执行命令是有差异的,我们通过函数方式把这些差异封装在函数内,对外(用户)提供的统一的接口命令。

因此,在程序实现时考虑到各平台上的差异性,并对各种平台的差异性进行屏蔽,具备通用性的优点。

本发明另一方面提供了一种应用系统健康检查系统。

参考图3所述,本发明提供的一种应用系统健康检查系统包括:

采集模块301.用于采集应用系统中与预设采集实例相对应的样本数据,并将所述样本数据保存到检查项采集文件中,同时输出包含与该预设采集实例相对应的预设检查项规则的规则定义文件;所述预设采集实例用于表征对所述应用系统进行健康检查的项目类型;

检查模块302,用于将所述样本数据与所述预设采集实例对应的参考阈值文件中的参考数据进行运算,判断是否符合所述检查项规则,所述参考数据用于表征所述预设采集实例处于正常状态;

输出模块303,用于根据该关系输出用于表征所述应用系统是否存在异常的健康检查结果;

更新模块304,用于使用样本数据根据所述规则定义文件中的预设阈值更新规则对所述参考数据进行更新。

优选的,所述检查模块包括:

解析单元,用于解析所述规则定义文件,获取与所述预设采集实例相对应的预设检查规则;所述预设检查规则包括有效阈值范围和自动阈值范围;

确定单元,用于若所述样本数据处于所述有效阈值范围中,则对样本数据与参考数据进行运算,得到运算结果,判断所述运算结果是否符合所述自动阈值范围,若符合所述自动阈值范围,则确定所述样本数据处于正常状态,否则,确定所述样本数据处于异常状态。

优选的,所述输出模块包括:

输出单元,用于当任意一个样本数据处于异常状态时,则输出所述应用系统处于异常状态的检查结果,否则输出所述应用系统处于正常状态的检查结果。

优选的,还包括:

生成模块,用于判断是否存在参考阈值文件,若否,利用所述检查项采集文件生成参考阈值文件。

优选的,还包括匹配模块:

用于判断所述应用系统的操作系统类型;

调用与所述操作系统类型相匹配的代码执行后续步骤。

需要说明的是,本实施例的一种应用系统健康检查系统可以采用上述方法实施例中的一种一种应用系统健康检查方法,用于实现上述方法实施例中的全部技术方案,其各个模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。

可以看出,本发明提供的一种应用系统健康检查系统可以自动采集应用系统中需要进行健康检查的项目,自动对其进行分析和判断,得到应用系统是否处于异常的健康检查结果,因此可以避免人为判定而带来的结果不准确的问题,降低了劳动强度,并且利用采集的样本数据对参考阈值文件中的参考数据进行更新,使得健康检查方法可以自动适应近期的检查结果,免于人工维护。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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