一种服务可用性监控方法及装置与流程

文档序号:12131764阅读:267来源:国知局
一种服务可用性监控方法及装置与流程

本发明涉及网络通信技术领域,尤其涉及一种服务可用性监控方法及装置。



背景技术:

为了使对外提供的服务具备高可用性,一般使服务运行于由集群软件组建的服务器集群之中,集群软件通过服务提供的脚本来对服务资源进行启动/停止/监控等操作,当正在运行的服务在当前服务器上出现异常时,集群软件检测到服务异常后会将服务在其他服务器上启动,来快速恢复业务,达到服务高可用的目的。

可见,为了实现服务的高可用性,对服务在所运行的服务器上的可用性的监控至关重要。



技术实现要素:

本发明提供一种服务可用性监控方法及装置,以提高服务可用性监控的准确性。

根据本发明实施例的第一方面,提供一种服务可用性监控方法,应用于服务器集群中的目标服务器,该方法包括:

确定所述目标服务器的状态;

当所述目标服务器为活动状态时,对目标服务对应的关键业务参数以及预设公共指标参数进行监控;其中,所述目标服务器为活动状态表明所述目标服务在所述目标服务器上运行;所述关键业务参数用于表征服务运行状态,所述预设公共指标参数用于表征服务器性能状态;

当所述目标服务对应的关键业务参数满足第一预设条件,且所述预设的公共指标参数满足第二预设条件时,确定所述目标服务可用。

根据本发明实施例的第二方面,提供一种服务可用性监控装置,应用于服务器集群中的目标服务器,其特征在于,该装置包括:

第一确定单元,用于确定所述目标服务器的状态;

监控单元,用于当所述目标服务器为活动状态时,对目标服务对应的关键业务参数以及预设公共指标参数进行监控;其中,所述目标服务器为活动状态表明所述目标服务在所述目标服务器上运行;所述关键业务参数用于表征服务运行状态,所述预设公共指标参数用于表征服务器性能状态;

第二确定单元,用于当所述目标服务对应的关键业务参数满足第一预设条件,且所述预设的公共指标参数满足第二预设条件时,确定所述目标服务可用。

应用本发明实施例,通过确定目标服务器的状态,当目标服务器为活动状态时,对目标服务对应的关键业务参数以及预设公共指标参数进行监控,并当目标服务对应的关键业务参数满足第一预设条件,且预设的公共指标参数满足第二预设条件时,确定目标服务可用,与单独依靠关键业务参数进行服务可用性判断的实现方式相比,本发明实施例通过目标服务对应的关键业务参数以及预设公共指标参数两个维度进行服务可用性判断,提高了服务可用性判断的准确性,进而提高了服务器集群的可用性。

附图说明

图1是本发明实施例提供的一种服务可用性监控方法的流程示意图;

图2是本发明实施例提供的一种服务可用性监控装置的结构示意图;

图3是本发明实施例提供的另一种服务可用性监控装置的结构示意图;

图4是本发明实施例提供的另一种服务可用性监控装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图1,为本发明实施例提供的一种服务可用性监控方法的流程示意图,如图1所示,该方法可以包括以下步骤:

需要说明的是,在本发明实施例中,步骤101~步骤103的执行主体可以为服务器集群中的任一服务器,为便于描述,以下以步骤101~步骤103的执行主体为目标服务器为例,即本发明实施例中,目标服务器并特指某一固定的服务器,而是可以指代服务器集群中的任一服务器,本发明实施例后续不再复述。

步骤101、确定目标服务器的状态。

本发明实施例中,可以根据服务的运行情况将服务器集群中各服务器划分为不同的状态,例如,当前运行服务的服务器的状态为活动(active)状态,当前未运行服务的服务器的状态为备机(standby)状态。

相应地,在本发明实施例中,目标服务器可以通过判断服务(本文中称为目标服务)是否在本地运行来确定自身的状态;若目标服务在本地运行(即目标服务运行在目标服务器上),则目标服务器确定自身为活动状态;否则(即目标服务未运行在目标服务器上),则目标服务器确定自身为备机状态。

在一实施例中,目标服务器可以通过判断目标服务对应的进程是否启动以及目标服务对应端口是否被占用来确定目标服务是否在本地运行。

具体地,当目标服务器监控到本地目标服务对应的进程启动,且目标服务对应的端口被占用时,目标服务器可以确定目标服务在本地运行,即目标服务器为活动状态;当目标服务器监控到本地目标服务对应的进程未启动,或/和,目标服务对应的端口未被占用,则目标服务器可以确定目标服务未在本地运行,即目标服务器为备机状态。

步骤102、当目标服务器为活动状态时,对目标服务对应的关键业务参数以及预设公共指标参数进行监控;其中,目标服务器为活动状态表明目标服务在目标服务上运行。

本发明实施例中,为了提高服务可用性判断的准确性,进而实现服务器集群的高可用性,可以通过两个维度进行服务可用性判断:关键业务参数维度以及公共指标参数维度。其中,关键业务参数用于表征服务运行状态,公共指标参数用于表征服务器性能状态。

相应地,在本发明实施例中,当目标服务器为活动状态时,目标服务器可以分别对目标服务对应的关键业务参数以及预设公共指标参数进行监控,以确定目标服务是否可用。

其中,目标服务对应的关键业务参数可以包括但不限于目标服务对应的进程的启动状态、目标服务对应的端口占用状态、目标服务对应的数据库连接状态以及目标服务对应的REST(Representational State Transfer,表述性状态转移)接口的响应状态等参数中的一个或多个;

预设公共指标参数可以包括但不限于目标服务器的CPU(Center Process Unit,中央处理单元)使用率、目标服务器的内存使用率、目标服务器中指定磁盘的空间使用率以及目标服务器中指定磁盘的IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)等参数中的一个或多个。

本发明实施例中,目标服务器可以周期性或定时对目标服务对应的关键业务参数以及预设公共指标参数进行监控,以确定目标服务可用。

其中,若目标服务对应的关键参数包括:目标服务对应的进程的启动状态以及目标服务对应的端口占用状态两个参数时,由于目标服务器确定自身状态时需要确定目标服务对应的进程是否启动以及目标服务对应的端口是否被占用,因此,当目标服务器确定自身为活动状态之后,在目标服务器第一次对目标服务对应的关键参数进行监控时,可以不用对目标服务对应的进程是否启动以及目标服务对应的端口被占用进行判断,而可以仅对其它关键业务参数进行监控。当目标服务器非第一次启动对目标服务对应的关键参数进行监控则需要对所有关键业务参数进行监控。

值得说明的是,在本发明实施例中,当目标服务器为备机状态时,即目标服务未运行在目标服务器上时,目标服务器可以不需要对目标服务对应的关键业务参数进行监控,而可以仅对预设公共指标参数进行监控;此外,服务器集群中各服务器可以获取集群中其它服务器对预设公共指标参数的监控结果。

步骤103、当目标服务对应的关键业务参数满足第一预设条件,且预设的公共指标参数满足第二预设条件时,确定目标服务可用。

本发明实施例中,当目标服务器为活动状态时,目标服务器可以通过判断关键业务参数是否满足第一预设条件以及预设公共指标参数是否满足第二预设条件来确定目标服务是否可用;并当目标服务对应的关键业务参数满足第一预设条件,且预设公共指标参数满足第二预设条件时,确定目标服务可用。

作为一种可选的实施方式,在本发明实施例中,目标服务对应的关键业务参数,包括:

目标服务对应的进程的启动状态、目标服务对应的端口占用状态、目标服务对应的数据库连接状态以及目标服务对应的REST接口的响应状态。

相应地,在该实施方式中,目标服务对应的关键业务参数满足第一预设条件,可以包括:

目标服务对应的进程启动、目标服务对应的端口被占用、目标服务对应的数据库连接正常以及目标服务对应的REST接口响应。

在该实施方式中,目标服务器可以周期性地对目标服务对应的进程的启动状态、目标服务对应的端口占用状态、目标服务对应的数据库连接状态以及目标服务对应的REST接口的响应状态进行监控,根据目标服务对应的进程是否启动、目标服务对应的端口是否占用、目标服务对应的数据库连接是否正常以及目标服务对应的REST接口是否响应确定目标服务对应的关键业务参数是否满足第一预设条件。

当目标服务器确定目标服务对应的进程启动、目标服务对应的端口被占用、目标服务对应的数据库连接正常以及目标服务对应的REST接口响应时,目标服务器可以确定目标服务对应的关键业务参数满足第一预设条件。

进一步的,在上述实施方式的基础上,当目标服务器确定目标服务对应的进程未启动时,目标服务器可以尝试对目标服务对应的进程进行重启,判断是否能将目标服务对应的进程重新启动,若能重新启动,则确定目标服务对应的进程启动;若不能重新启动,则确定目标服务对应的进程未启动;此外,当目标服务器确定目标服务对应的端口未被占用时,目标服务器可以尝试对目标服务进行重启,判断是否能将目标服务重新启动;若能重新启动,则确定目标服务对应的端口被占用。

在该实施方式中,当目标服务对应的进程未启动、目标服务对应的端口未被占用、目标服务对应的数据库连接异常,或/和目标服务对应的REST接口未响应时,目标服务器可以确定目标服务对应的关键业务参数不满足第一预设条件。

作为一种可选的实施方式,在本发明实施中,预设公共指标参数包括以下参数中的一个或多个:

目标服务器的CPU使用率、目标服务器的内存使用率、目标服务器中指定磁盘的空间使用率以及目标服务器中指定磁盘的IOPS;

相应地,在该实施方式中,预设的公共指标满足第二预设条件,可以包括:

根据预设公共指标参数与预设阈值之间的关系、确定预设公共指标参数对应的权值;

当预设的公共指标仅包括一个参数时,若预设公共指标参数对应的权值低于第一预设阈值时,则确定预设的公共指标参数满足第二预设条件。

当预设的公共指标参数为多个时,若预设公共指标参数的权值之和低于第二预设阈值,则确定预设的公共参数满足第二预设条件。

在该实施方式中,以预设公共指标参数包括目标服务器的CPU使用率、目标服务器的内存使用率、目标服务器中指定磁盘的空间使用率以及目标服务器中指定磁盘的IOPS为例进行说明,但并不应当以此为限制。

目标服务器可以分别确定目标服务器的CPU使用率对应的权值、目标服务器的内存使用率对应的权值、目标服务器中指定磁盘的空间使用率对应的权值以及目标服务器中指定磁盘的IOPS对应的权值,并通过判断各预设公共指标参数对应的权值之和是否低于第二预设阈值确定预设的公共指标参数是否满足第二预设条件,并当各预设公共指标参数对应的权值之和低于第二预设阈值时,确定预设的公共指标参数满足第二预设条件;否则,确定预设的公共指标参数不满足预设条件。

在该实施方式的一实施例中,预设公共指标参数对应的权值可以通过以下方式确定:

当目标服务器的CPU使用率低于第一阈值时,确定目标服务器的CPU使用率对应的权值为0;否则,确定目标服务器的CPU使用率对应的权值为第一权重值;

当目标服务器的内存使用率低于第二阈值时,确定目标服务器的内存使用率对应的权值为0;否则,确定目标服务器的内存使用率对应的权值为第二权重值;

当目标服务器中指定磁盘的空间使用率低于第三阈值时,确定目标服务器中指定磁盘的空间使用率对应的权值为0;否则,确定目标服务器中指定磁盘的空间使用率对应的权值为第三权重值;

当目标服务器中指定磁盘的IOPS低于第四阈值时,确定目标服务器中指定磁盘的IOPS对应的权值为0;否则,确定目标服务器中指定磁盘的IOPS对应的权值为第四权重值。

在该实施例中,可以预先为各预设公共指标参数设置相应的阈值,并分别为预设公共指标参数设置低于阈值的情况以及高于等于阈值的情况设置对应的权重值。

以预设公共参数指标包括目标服务器的CPU使用率、目标服务器的内存使用率、目标服务器中指定磁盘的空间使用率以及目标服务器中指定磁盘的IOPS为例进行说明。

可以预先分别为目标服务器的CPU使用率、目标服务器的内存使用率、目标服务器中指定磁盘的空间使用率以及目标服务器中指定磁盘的IOPS设置相应地阈值(本文中分别称为第一阈值、第二阈值、第三阈值和第四阈值)。各预设公共指标参数低于阈值时以及高于等于阈值时对应的权值不同,例如,目标服务器的CPU使用率低于第一阈值时以及高于等于第一阈值时对应的权值不同、目标服务器的内存使用率低于第二阈值时以及高于等于第二阈值时对应的权值不同、目标服务器中指定磁盘的空间使用率低于第三阈值以及高于等于第三阈值时对应的权值不同、目标服务器中指定磁盘的IOPS低于第四阈值时以及高于等于第四阈值时对应的权值也不同。

举例来说,假设第一阈值为70%、第二阈值为70%、第三阈值为70%,第四阈值为1000,目标服务器的CPU使用率低于70%时,CPU使用率对应的权值为0,高于等于70%时,CPU使用率对应的权值为0.8;目标服务器的内存使用率低于70%时,内存使用率对应的权值为0,高于等于70%时,内存使用率对应的权值为0.6;目标服务器中指定磁盘的空间使用率低于70%时,指定磁盘的空间使用率对应的权值为0,高于等于70%时,指定磁盘的空间使用率对应的权值为0.3;目标服务器中指定磁盘的IOPS低于1000时,服务器中指定磁盘的IOPS对应的权值为0,高于等于1000时,服务器中指定磁盘的IOPS对应的权值为0.5,第二预设阈值为1。

若某一时刻,目标服务器的CPU使用率为60%,目标服务器的内存使用率为75%,目标服务器中指定磁盘的空间使用了为80%,目标服务器中指定磁盘的IOPS为900,则目标服务器可以确定各预设公共指标参数对应的权值分别为0、0.6、0.3、0,各预设公共指标参数对应的权值之和为0+0.6+0.3+0=0.9,由于0.9<1,因此,目标服务器确定预设公共指标参数满足第二预设条件;

若另一时刻,目标服务器的CPU使用率为80%,目标服务器的内存使用率为65%,目标服务器中指定磁盘的空间使用了为50%,目标服务器中指定磁盘的IOPS为1500,则目标服务器可以确定各预设公共指标参数对应的权值分别为0.8、0、0、0.5,各预设公共指标参数对应的权值之和为0.8+0+0+0.5=1.3,由于1.3>1,因此,目标服务器确定预设公共指标参数不满足第二预设条件。

进一步地,作为一种可选的实施方式,在本发明实施例中,当目标服务对应的关键业务参数不满足第一预设条件,或/和预设公共指标参数不满足第二预设条件时,确定目标服务不可用,将目标服务器设置为备机状态,并将目标服务切换至服务器集群中的指定服务器上运行。

在该实施方式中,当目标服务对应的关键业务参数不满足第一预设条件、和/或,预设公共指标参数不满足第二预设条件时,目标服务器可以确定目标服务不可用,需要将目标服务切换到集群中的其它服务器上运行,此时,目标服务器可以将自身设置为备机状态,并将目标服务切换至服务器集群中的指定服务器上运行。

在一种可选的实施例中,上述对目标服务对应的关键业务参数以及预设公共指标参数进行监控,可以包括:

对目标服务对应的关键业务参数进行监控;

当目标服务对应的关键业务参数满足第一预设条件时,对预设公共指标参数进行监控;

当目标服务对应的关键业务参数不满足第一预设条件时,确定目标服务不可用。

在该实施方式中,当目标服务器确定自身为活动状态时,目标服务器可以对目标服务对应的关键业务参数进行监控,并当目标服务对应的关键业务参数满足第一预设条件时,对预设公共指标参数进行监控;当目标服务对应的关键业务参数不满足第一预设条件时,直接确定目标服务不可用,而不再对预设公共指标参数进行监控。

即在该实施例中,目标服务器只有在确定了目标服务对应的关键业务参数满足第一预设条件之后,才需要对预设公共指标参数进行监控,并根据监控结果确定目标服务是否可用;而当目标服务对应的关键业务参数不满足第一预设条件时,目标服务器可以直接确定目标服务不可用,而不需要对预设公共指标参数进行监控,以节省系统资源。

值得说明的是,在本发明实施例中,目标服务器除了可以按照上述实施方式中描述的先对关键业务参数进行监控,后对预设公共指标参数进行监控之外,还可以先对预设公共指标参数进行监控,并在预设公共指标参数满足第一预设条件的情况下再对关键业务参数进行监控,或者,目标服务器也可以并发对关键业务参数以及预设公共指标参数进行监控,其具体实现在此不做赘述。

进一步的,在目标服务器可以确定目标服务不可用之后,将自身设置为备机状态,并将目标服务切换至服务器集群中的指定服务器上运行。

可选地,上述指定服务器可以指与目标服务器属于同一服务器集群的其它服务器(除上述目标服务器之外的其它服务器)中预设公共指标参数满足上述第二预设条件的服务器。

相应地,在该实施方式中,当目标服务器为活动状态时,目标服务器可以获取各其它服务器对预设公共指标参数的监控结果,并当需要进行目标服务运行切换时,目标服务器可以确定各其它服务器上的预设公共指标参数是否满足上述第二预设条件,并将目标服务切换到预设公共指标参数满足上述第二预设条件的其它服务上运行。

值得说明的是,当目标服务器由于预设公共指标参数不满足第二预设条件而需要进行目标服务运行切换时(此时目标服务对应的关键业务参数满足第一预设条件),若服务器集群中各其它服务器对应的预设公共指标参数均不满足第二预设条件,则目标服务器可以不进行目标服务运行切换,即此时目标服务仍然在目标服务器上运行。

作为该实施方式的一实施例,当目标服务对应的关键业务参数满足第一预设条件,且预设的公共指标参数不满足第二预设条件时,目标服务器可以获取目标服务的运行切换信息,若目标服务发生过运行切换,且上一次切换是由预设的公共指标参数不满足第二预设条件触发的,则确定目标服务可用。

作为该实施方式的另一实施例,当目标服务对应的关键业务参数满足第一预设条件,且预设的公共指标参数不满足第二预设条件时;若目标服务未发生过运行切换,或目标服务发生过运行切换,但上一次切换不是由预设的公共指标参数不满足第二预设条件触发的,则确定目标服务不可用。

在该实施例中,考虑到当目标服务本身占用的服务器CPU、内存、磁盘空间、IOPS等较高时,很容易造成由于预设公共指标参数不满足上述第二预设条件的导致的目标服务运行切换,因此,为了避免目标服务反复进行运行切换,影响目标服务的正常运行,当目标服务由于预设公共指标参数不满足第二预设条件而发生切换的次数大于预设次数时,可以不再将预设公共指标参数作为目标服务运行切换的判断条件,即拒绝根据预设公共指标参数进行服务可用性判断,而仅根据目标服务对应的关键业务参数是否满足第一预设条件确定是否需要进行目标服务运行切换。

相应地,在该实施例中,当目标服务器确定目标服务对应的关键业务参数满足第一预设条件,且预设的公共指标参数不满足第二预设条件时,目标服务器在确定目标服务不可用,并进行目标服务运行切换之前,可以先获取目标服务的运行切换信息,该运行切换信息可以包括但不限于发生目标服务运行切换的次数以及目标服务发生运行切换的原因等,并根据目标服务的运行切换信息判断目标服务是否发生过运行切换,并当目标服务发生过运行切换时,进一步判断上一次切换的原因是否为预设的公共指标参数不满足第二预设条件。

若目标服务之前发生过运行切换,且上一次切换的原因是预设公共指标参数不满足预设条件,则目标服务器不再将预设公共指标参数作为目标服务运行切换的判断条件,并确定目标服务可用,不需要进行目标服务运行切换。

若目标服务之前发生过运行切换,但上一次切换的原因不是预设公共指标参数不满足预设条件,则目标服务器确定目标服务不可用,并进行目标服务运行切换。

若目标服务之前未发生过运行切换,则目标服务器可以确定目标服务不可用,并进行目标服务运行切换。

值得说明的是,在该实施例中,是以当连续两次由于预设公共指标参数不满足第二预设条件导致目标服务运行切换(包括当前正准备要进行的切换)时确定不将预设公共指标参数作为目标服务的运行切换判断条件为例的。

在实际应用中,也可以当连续N(N>2,N为正整数)次由于预设公共指标参数不满足第二预设条件导致目标服务运行切换(包括当前正准备要进行的切换)时确定不将预设公共指标参数作为目标服务的运行切换判断条件,此时,目标服务器在需要进行由于预设公共指标参数不满足第二预设条件导致的目标服务运行切换时,需要判断上N-1次目标服务运行切换的原因是否均为预设公共指标参数不满足第二预设条件,其具体实现在此不再赘述。

具体的,为了实现上述方案,服务器集群中各服务器需要记录发生目标服务运行切换的次数以及目标服务发生运行切换的原因。

进一步地,在本发明实施例中,当发生目标服务运行切换之后,切换后运行目标服务的服务器需要由备机状态变换为活动状态,并按照上述方法流程对目标服务的可用性进行监控,其具体实现在此不再赘述。

进一步地,在本发明实施例中,当目标服务器为活动状态,且在连续预设数量个监控周期内,预设公共指标参数对应的数值递增时,进行服务器硬件升级告警;其中,预设公共指标参数对应的数值越大,服务器负载越高。

具体地,考虑到当服务器硬件不足于满足目标服务的运行需求时,例如,目标服务对服务器硬件要求较高的情况下,目标服务在服务器中运行之后,服务器的预设公共指标参数将会持续升高,从而影响目标服务的正常运行,因此,当目标服务器为活动状态时,目标服务器可以按照预设监控周期,周期性地对预设公共指标参数进行监控,并当在连续预设数量个监控周期内,预设公共指标参数对应的数值递增时,则目标服务器可以确定当前的硬件不足于满足目标服务的运行需求,此时,目标服务器可以进行服务器硬件升级告警,以提示用户(如管理员)对目标服务器进行硬件升级。

可见,在图1所示的方法流程中,通过目标服务对应的关键业务参数以及预设公共指标参数两个维度进行服务可用性判断,提高了服务可用性判断的准确性,进而提高了服务器集群的可用性。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体实例对本发明实施例提供的技术方案进行说明。

在该实施例中,可以在服务器集群中各服务器上部署通用评估程序,该通用评估程度用于对操作系统监控、服务控制、服务可用性自定义评估,通用评估程序接受集群框架的调用,执行对被接监控服务的启动/停止/监控,通过多维度取值判断返回最终的服务可用状态,若判断服务不可用,则记录结果,并返回给集群软件,由集群软件根据返回值来判断下一步的操作。

该实施例中服务可用性监控的具体实现流程如下:

一、配置

1、服务器集群中各服务器上均运行上述通用评估程序,该通用评估程序提供多种类型的系统参数监控,可以通过修改配置文件或用户UI(User Interface,用户界面)的方式进行配置;

2、修改通用评估程序的配置文件,在该配置文件中填入服务器集群中所有服务器的IP,将该配置文件复制到各个节点的相同位置,以保证各服务器上配置文件一致;

3、修改通用评估程序的配置文件或者通过UI界面,接收用户(如管理员)发送的关键业务参数的配置指令,服务器根据该配置指令确定配置服务对应的关键业务参数,如:选择监控的数据库类型并填入关键参数来判断数据库是否可用;选择REST接口并填入URL(Uniform Resource Locator,统一资源定位符)来判断REST接口是否响应;输入进程名称来判断进程是否启动;输入被占用的端口号来判断指定端口是否被占用;将配置文件复制到各个节点的相同位置;

4、修改通用评估程度的配置文件或者通过UI界面,接收用户发送的公共指标参数的配置指令,服务器可以根据该配置指令确定配置公共指标参数,如服务器CPU使用率并设置阈值;服务器内存使用率并设置阈值;服务器的指定磁盘空间使用率并设置阈值;服务器的指定磁盘的IOPS并设置阈值;

5、提供脚本注册给集群框架,用来调用通用评估程序执行服务的启动、停止、监控。

二、服务可用性监控实现

1、启动服务器集群中所有服务器上的通用评估程序,各服务器上的通用评估程序与服务器集群中其他服务器上的通用评估程序通过配置的IP建立通信;

2、通用评估程序启动后,各服务器首先利用该通用评估程序监控配置3中配置的关键业务参数的状态,若关键业务参数中服务对应的进程未启动或服务对应的端口未被占用,则表示服务未在当前服务器上运行,则将自身置为备机状态,以固定间隔开始监控配置4中配置的公共指标参数;

3、如果服务器通过通用评估程序监控到服务对应的进程启动,且服务对应的端口被占用,则表示服务在当前服务器上运行,该服务器将自身置为活动状态,以固定间隔继续监控关键业务参数;

其中,活动状态的服务器监控关键业务参数的具体实现如下:

3.1、判断服务对应的进程是否启动;若启动,则转至步骤3.2;否则,判断是否能够将服务对应的进程重新启动,若能够重新启动,则转至步骤3.2;否则,确定服务不可用;

3.2、判断服务对应的端口是否被占用;若被占用,则转至步骤3.3;否则,判断是否能够将服务重新启动,若能够重新启动,则转至步骤3.3;否则,确定服务不可用;

3.3、判断服务对应的数据库连接是否正常;若正常,则转至步骤3.4;否则,确定服务不可用;

3.4、判断服务对应的REST接口是否响应;若响应,转至公共指标参数监控流程;否则,确定服务不可用。

4、服务器集群中所有服务器均通过通用评估程序以固定间隔监控配置4中公共指标参数,某公共指标参数低于相应的阈值时,该公共指标参数对应的权值记为0,某公共指标参数高于等于相应的阈值时,该公共指标参数对应的权值记为该公共指标参数对应的预设权重值,若各公共指标参数对应的权值之和大于等于1时,表示服务不可用;其中,服务器可以接收用户发送的公共指标参数对应的权重值的配置指令,并根据该配置指令确定设置各公共指标参数对应的权重值,来进行灵活的服务可用状态定义,如定义各公共指标参数超过相应阈值情况下对应的权值为0.6,则当有两个或两个以上公共指标参数超过相应的阈值时,即表示服务不可用;

5、活动状态的服务器以固定间隔监控关键业务参数以及公共指标参数,当二者中任一个指示服务不可用时,确定服务不可用,触发服务运行切换,并通过日志记录此次切换的原因;

6、活动状态的服务器通过通用评估程序在本机停止服务并开始切换后,通用评估程序停止本机服务并返回停止成功,然后该服务器进入备机状态,以固定间隔监控公共指标参数并记录结果;

7、备机状态的服务器上的通用评估程序接受调用启动本机的服务,启动服务成功后给集群软件返回启动成功,然后该服务器进入活动状态,并记录本次状态变化以及从对端获取到的本次状态变化的原因(即服务运行切换原因),然后开始按照活动服务器的监控流程进行服务可用性监控;

8、由于特定服务可能会占用较多系统资源,若服务运行切换后运行服务的服务器上公共指标参数对应的权值之和大于1,且上一次服务运行切换是由公共指标参数对应的权值之和大于1触发的,则表示服务本身占用系统资源过多,公共指标参数不再作为服务是否可用的依据,只记录监控结果,并在日志或UI界面中明确给出需要升级服务器硬件以满足服务正常运行;

9、各服务器上的通用评估程序按照预设监测周期进行重复监测,所有数值结果记录在文本中,通用评估程序按照时间顺序分析每项公共指标参数的变化趋势,若监控到服务所在服务器存在负载稳步上升的情况,则为了更好的运行服务,则需要提示用户进行服务器硬件升级。

通过以上描述可以看出,在本发明实施例提供的技术方案中,通过确定目标服务器的状态,当目标服务器为活动状态时,对目标服务对应的关键业务参数以及预设公共指标参数进行监控,并当目标服务对应的关键业务参数满足第一预设条件,且预设的公共指标参数满足第二预设条件时,确定目标服务可用,与单独依靠关键业务参数进行服务可用性判断的实现方式相比,本发明实施例通过目标服务对应的关键业务参数以及预设公共指标参数两个维度进行服务可用性判断,提高了服务可用性判断的准确性,进而提高了服务器集群的可用性。

请参见图2,为本发明实施例提供的一种服务可用性监控装置的结构示意图,其中,该装置可以应用于上述方法实施例中的目标服务器,如图2所示,该装置可以包括:

第一确定单元210,用于确定所述目标服务器的状态;

监控单元220,用于当所述目标服务器为活动状态时,对目标服务对应的关键业务参数以及预设公共指标参数进行监控;其中,所述目标服务器为活动状态表明所述目标服务在所述目标服务器上运行;所述关键业务参数用于表征服务运行状态,所述预设公共指标参数用于表征服务器性能状态;

第二确定单元230,用于当所述目标服务对应的关键业务参数满足第一预设条件,且所述预设的公共指标参数满足第二预设条件时,确定所述目标服务可用。

在可选实施例中,所述第二确定单元230,还用于当所述目标服务对应的关键业务参数不满足第一预设条件,或/和所述预设公共指标参数不满足第二预设条件时,确定所述目标服务不可用;

相应地,请一并参见图3,为本发明实施例提供的另一种服务可用性监控装置的结构示意图,如图3所示,在图2所示服务可用性监控装置的基础上,图3所示的服务可用性监控装置还包括:

切换单元240,用于当所述目标服务器状态为活动状态,且所述目标服务不可用时,将所述目标服务器设置为备机状态,并将所述目标服务切换至服务器集群中的指定服务器上运行。

在可选实施例中,所述第二确定单元230,还用于当所述目标服务对应的关键业务参数满足第一预设条件,且所述预设的公共指标参数不满足第二预设条件时,获取所述目标服务的运行切换信息,若所述目标服务发生过运行切换,且上一次切换是由所述预设的公共指标参数不满足第二预设条件触发的,则确定目标服务可用。

在可选实施例中,所述第二确定单元230,还用于当所述目标服务对应的关键业务参数满足第一预设条件,且所述预设的公共指标参数不满足第二预设条件时,若所述目标服务未发生过运行切换,或所述目标服务发生过运行切换,但上一次切换不是由所述预设的公共指标参数不满足第二预设条件触发的,则确定所述目标服务不可用。

请一并参见图4,为本发明实施例提供的另一种服务可用性监控装置的结构示意图,如图4所示,在图2所示服务可用性监控装置的基础上,图4所示的服务可用性监控装置还包括:

告警单元250,用于当所述目标服务器为活动状态,且在连续预设数量个监控周期内,所述预设公共指标参数对应的数值递增时,进行服务器硬件升级告警;其中,所述预设公共指标参数对应的数值越大,服务器负载越高。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,通过确定目标服务器的状态,当目标服务器为活动状态时,对目标服务对应的关键业务参数以及预设公共指标参数进行监控,并当目标服务对应的关键业务参数满足第一预设条件,且预设的公共指标参数满足第二预设条件时,确定目标服务可用,与单独依靠关键业务参数进行服务可用性判断的实现方式相比,本发明实施例通过目标服务对应的关键业务参数以及预设公共指标参数两个维度进行服务可用性判断,提高了服务可用性判断的准确性,进而提高了服务器集群的可用性。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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