一种服务器健康监测方法、系统及计算设备技术方案

技术编号:35210155 阅读:16 留言:0更新日期:2022-10-15 10:22
本发明专利技术公开了一种服务器健康监测方法、系统及计算设备,方法在健康监测服务器中执行,健康监测服务器与一个或多个检查服务器相连,每个检查服务器分别与一个待监测服务器相连,方法包括步骤:定时向一个或多个检查服务器发送健康检查请求,以便检查服务器基于所述健康检查请求向相应的待监测服务器发送请求并获取待监测服务器返回的请求结果,将请求结果存储到所述检查服务器的内存队列;以及定时获取每个检查服务器的内存队列中的请求结果,并对所述请求结果进行分析,以确定对应的待监测服务器在所述请求结果返回的时间点的健康状态。根据本发明专利技术的技术方案,可以精确确定待监测服务器当前的健康状态。务器当前的健康状态。务器当前的健康状态。

【技术实现步骤摘要】
一种服务器健康监测方法、系统及计算设备
[0001]本申请是2022年2月10日提交的专利技术专利申请2022101235009的分案申请。


[0002]本专利技术涉及网络通信
,尤其涉及一种服务器健康监测方法、服务器健康监测系统及计算设备。

技术介绍

[0003]目前,随着企业的快速发展,业务种类越来越丰富,随之而来的项目也越来越多,单机部署方式难以满足业务需求。为了满足业务需求,一般是采用微服务架构、集群化部署方式,所使用的服务器的数量成倍增加,这样会导致服务器的健康状态(请求能否响应、服务器运行是否正常)难以监测。
[0004]现有技术中,对服务器健康状态的监测方法主要有两种,一种是微服务架构中基于注册中心的心跳检测机制,服务器通过定时向注册中心发送一个心跳报文(例如采用TCP/UDP协议),如果注册中心在配置的时间范围内回复心跳,则表明服务器健康。另一种是定时检查API调用,被监测服务器通过提供一个API接口,服务器健康监测系统通过定时向该接口发送HTTP请求,根据接口返回结果来判断服务器是否正常。
[0005]但,上述方案无法适应复杂的网络环境,例如,企业有些项目部署在内网不同机房,且各个机房之间的网络相互隔离,有些项目部署在外网,若仅将健康检查服务器部署在一个机房,可能无法对所有项目的服务器进行健康监测。另外,上述方案对健康检查服务器配置的参数固定,对于每个被监测的服务器,定时检查的周期都是固定的,无法实现定制化。而且,上述方案是将通过将返回的结果与健康参数中预期返回结果进行对比来确定服务器健康状态,然而随着数据的变更,返回的结果可能与预期返回的结果相近而不相等,此时会做出误判。此外,由于网络可能存在波动情况,上述方案仅通过一次返回结果判定服务器是否健康不够准确。
[0006]为此,需要一种服务器健康监测方法及系统,以解决上述技术方案中存在的问题。

技术实现思路

[0007]为此,本专利技术提供一种服务器健康监测方法、服务器健康监测系统及计算设备,以解决或至少缓解上面存在的问题。
[0008]根据本专利技术的一个方面,提供一种服务器健康监测方法,在健康监测服务器中执行,所述健康监测服务器与一个或多个检查服务器相连,每个检查服务器分别与一个待监测服务器相连,所述方法包括步骤:定时向一个或多个检查服务器发送健康检查请求,以便检查服务器基于所述健康检查请求向相应的待监测服务器发送请求并获取待监测服务器返回的请求结果,将请求结果存储到所述检查服务器的内存队列;以及定时获取每个检查服务器的内存队列中的请求结果,并对所述请求结果进行分析,以确定对应的待监测服务器在所述请求结果返回的时间点的健康状态。
[0009]可选地,在根据本专利技术的服务器健康监测方法中,定时向一个或多个检查服务器发送健康检查请求,定时获取每个检查服务器的内存队列中的请求结果的步骤包括:分别为每个待监测服务器启动一个线程来执行待监测服务器的定时任务,以便定时向与待监测服务器相连的检查服务器发送健康检查请求,并定时获取检查服务器的内存队列中的请求结果。
[0010]可选地,在根据本专利技术的服务器健康监测方法中,检查服务器基于健康检查请求向相应的待监测服务器发送请求并获取待监测服务器返回的请求结果的步骤,包括:检查服务器从所述健康检查请求中获取健康检查参数,基于所述健康检查参数构建HTTP请求并发送至相应的待监测服务器;获取所述待监测服务器返回的HTTP请求结果。
[0011]可选地,在根据本专利技术的服务器健康监测方法中,所述健康检查参数包括待监测服务器的请求协议、请求地址、请求参数、允许超时时间、最大重试次数中的一种或多种。
[0012]可选地,在根据本专利技术的服务器健康监测方法中,对所述请求结果进行分析步骤包括:从所述请求结果中获取状态码和响应体,根据所述状态码和响应体来确定所述请求结果对应的待监测服务器在所述请求结果返回的时间点的健康状态。
[0013]可选地,在根据本专利技术的服务器健康监测方法中,所述健康状态包括健康、正在维护、异常中的一种或多种。
[0014]可选地,在根据本专利技术的服务器健康监测方法中,在确定待监测服务器在所述请求结果返回的时间点的健康状态之后,还包括步骤:判断待监测服务器的健康状态是否发生变化,如果发生变化,则向客户端发送相应的服务器健康状态变化通知。
[0015]可选地,在根据本专利技术的服务器健康监测方法中,所述健康监测服务器与状态机模块相连,判断待监测服务器的健康状态是否发生变化的步骤包括:将所述待监测服务器的健康状态对应的信号发送至状态机模块,以便状态机模块根据所述健康状态对应的信号判断待监测服务器的健康状态是否发生变化,并在确定发生变化时向客户端发送相应的服务器健康状态变化通知。
[0016]可选地,在根据本专利技术的服务器健康监测方法中,所述检查服务器为Agent代理服务器。
[0017]根据本专利技术的一个方面,提供一种服务器健康监测系统,包括:一个或多个检查服务器,每个检查服务器分别与一个待监测服务器相连;健康监测服务器,与一个或多个检查服务器通信连接,适于执行如上所述的方法来对待监测服务器进行健康监测。
[0018]可选地,在根据本专利技术的服务器健康监测系统中,还包括:状态机模块,与所述健康监测服务器相连,适于接收健康监测服务器发送的待监测服务器的健康状态对应的信号,并适于根据所述健康状态对应的信号判断待监测服务器的健康状态是否发生变化,在确定发生变化时向客户端发送相应的服务器健康状态变化通知。
[0019]根据本专利技术的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的服务器健康监测方法的指令。
[0020]根据本专利技术的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的服务器健康监测方法。
[0021]根据本专利技术的技术方案,提供了一种服务器健康监测方法及系统,其中,健康监测
服务器通过定时向一个或多个检查服务器发送健康检查请求,以通过检查服务器向相应的待监测服务器发送HTTP请求并获取待监测服务器返回的请求结果,而且,定时从检查服务器的内存队列中获取待监测服务器在各个时间点返回的请求结果,根据待监测服务器在各个时间点返回的请求结果,可以分析确定待监测服务器在不同时间点的健康状态。这样,可以精确确定待监测服务器当前的健康状态。并且,可以判断监测服务器的健康状态是否发生变化,在发生变化时通过向用户发送相应的服务器健康状态变化通知,使用户实时了解待监测服务器当前健康状态。
[0022]进一步地,本专利技术通过为每个待监测服务器设置不同的定时任务,针对每个待监测服务器启动一个线程来执行定时任务,以定时检查每个待监测服务器的健康状态,这样能够满足不同待监测服务器的健康状态监测需求。
[0023]上述说明仅是本专利技术技术方案的概述,为了能够本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务器健康监测方法,在健康监测服务器中执行,所述健康监测服务器与多个检查服务器相连,每个检查服务器分别与一个待监测服务器相连,所述方法包括步骤:分别为每个待监测服务器设置定时任务,并分别为每个待监测服务器启动一个线程来执行对应的定时任务;基于定时任务定时向多个检查服务器发送健康检查请求,以便检查服务器基于所述健康检查请求向相应的待监测服务器发送请求并获取待监测服务器返回的请求结果,将请求结果存储到所述检查服务器的内存队列;以及基于定时任务定时获取每个检查服务器的内存队列中的请求结果,从所述请求结果中获取状态码和响应体,根据所述状态码和响应体来确定所述请求结果以确定对应的待监测服务器在所述请求结果返回的时间点的健康状态。2.如权利要求1所述的方法,检查服务器基于健康检查请求向相应的待监测服务器发送请求并获取待监测服务器返回的请求结果的步骤,包括:检查服务器从所述健康检查请求中获取健康检查参数,基于所述健康检查参数构建HTTP请求并发送至相应的待监测服务器;获取所述待监测服务器返回的HTTP请求结果。3.如权利要求2所述的方法,其中,所述健康检查参数包括待监测服务器的请求协议、请求地址、请求参数、允许超时时间、最大重试次数中的一种或多种。4.如权利要求1

3中任一项所述的方法,所述健康状态包括健康、正在维护、异常中的一种或多种。5.如权利要求1

4中任一项所述的方法,在确定待监测服务器在所述请求结果返回的时间点的健康状态之后,还包括步骤:判断待监测服务器的健康状态是否发生变化,如果发生变化,则向客户端发送相...

【专利技术属性】
技术研发人员:廖世伟汤雄飞江林伟
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1