本发明实施例涉及监控技术,尤其涉及一种应用服务的监控方法、负载均衡设备与监控设备。
背景技术:
随着计算机技术的发展,为了提高应用服务的可靠性,需要对各应用服务进行实时监控。
目前对应用服务进行监控的技术为,在每个应用服务所在的监控对象中植入脚本,使用该脚本获取监控对象的监控数据。接着,监控设备获取每个监控对象的监控数据,并根据每个监控对象的监控数据来判断每个应用服务是否正常。例如,假设监控对象为1000个,监控指标为应用服务可用性监控,5秒检测一次,那么5秒内监控设备将对1000个监控对象发送会话请求。如果监控指标增加到10个时,那么5秒内监控设备需要发送10000个单线程会话请求。
由上述可知,现有技术在对每个监控对象进行监控时,监控设备向每个监控对象发送监控请求,造成监控工作量庞大,使得监控系统不稳定的问题。
技术实现要素:
本发明实施例提供一种应用服务的监控方法、负载均衡设备与监控设备,以克服现有技术监控设备向每个服务节点发送监控请求造成的监控工作量庞大,使得监控系统不稳定的问题。
第一方面,本发明实施例提供一种应用服务的监控方法,包括:
负载均衡设备获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息,其中,所述负载均衡设备对应多个集群节点,每个集群节点对应多个服务节点,所述状态信息包括正常和异常;
所述负载均衡设备接收监控设备发送的第一监控请求,所述第一监控请求包括所述集群节点的标识;
所述负载均衡设备根据所述集群节点的标识,将所述集群节点的标识对应的每个服务节点的状态信息发送给所述监控设备。
结合第一方面,在本实施例的一种可能的实现方式中,上述负载均衡设备获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息,具体包括:
所述负载均衡设备向每个所述服务节点发送第二监控请求,所述第二监控请求中包括每个所述服务节点的标识;
所述负载均衡设备接收每个所述服务节点发送的应答信息,所述应答信息中包括所述服务节点的标识和当前时刻所述服务节点的状态信息;
所述负载均衡设备根据所述服务节点的标识将所述服务节点的状态信息保存在所述服务节点对应的集群节点的标识下。
结合第一方面,在本实施例的另一种可能的实现方式中,所述负载均衡设备向每个服务节点发送第二监控请求之后,所述方法还包括:
所述负载均衡设备判断在预设时间内是否接收到所述服务节点根据所述第二监控请求发送的应答信息;
若否,所述负载均衡设备向每个服务节点再次发送所述第二监控请求。
第二方面,本发明实施例提供一种应用服务的监控方法,包括:
监控设备向负载均衡设备发送第一监控请求,所述第一监控请求包括所述集群节点的标识;
所述监控设备接收所述负载均衡设备发送的所述集群节点的标识对应的每个服务节点的状态信息,所述状态信息包括正常和异常。
结合第二方面,在本实施例的一种可能的实现方式中,所述方法还包括:
所述监控设备根据每个所述服务节点的状态信息,获取所述状态信息为异常的服务节点,并对所述状态信息为异常的服务节点进行报警。
第三方面、本发明实施例提供一种负载均衡设备,包括:
获取模块,用于获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息,其中,所述负载均衡设备对应多个集群节点,每个集群节点对应多个服务节点,所述状态信息包括正常和异常;
接收模块,用于接收监控设备发送的第一监控请求,所述第一监控请求包括所述集群节点的标识;
发送模块,用于根据所述集群节点的标识,将所述集群节点的标识对应的每个服务节点的状态信息发送给所述监控设备。
结合第三方面,在本实施例的一种可能的实现方式中,所述获取模块具体包括:
发送单元,用于向每个所述服务节点发送第二监控请求,所述第二监控请求中包括每个所述服务节点的标识;
接收单元,用于接收每个所述服务节点发送的应答信息,所述应答信息中包括所述服务节点的标识和当前时刻所述服务节点的状态信息;
保存单元,用于根据所述服务节点的标识将所述服务节点的状态信息保存在所述服务节点对应的集群节点的标识下。
结合第三方面,在本实施例的另一种可能的实现方式中,所述负载均衡设备还包括:
判断模块,用于判断在预设的时间内是否接收到所述服务节点发送的应答信息;
确定模块,用于在所述判断模块在预设的时间内没有接收到所述服务节点发送的应答信息时,确定所述服务节点的状态信息为异常。
第四方面、本发明实施例提供一种监控设备,包括:
发送模块,用于向负载均衡设备发送第一监控请求,所述第一监控请求包括所述集群节点的标识;
接收模块,用于接收所述集群节点发送的所述集群节点的标识对应的每个服务节点的状态信息,所述状态信息包括正常和异常。
结合第四方面,在本实施例的一种可能的实现方式中,所述监控设备还包括:
获取模块,用于根据每个所述服务节点的状态信息,获取所述状态信息为异常的服务节点;
报警模块,用于对所述状态信息为异常的服务节点进行报警。
本发明实施例提供一种应用服务的监控方法、负载均衡设备与监控设备,通过负载均衡设备获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息,监控设备向负载均衡设备发送第一监控请求,负载均衡设备接收监控设备发送的第一监控请求,并根据所述集群节点的标识,将所述集群节点的标识对应的每个服务节点的状态信息发送给所述监控设备,以使监控设备根据每个服务节点的状态信息确定当前服务节点的状态是否正常。本实施例的技术方案,通过负载均衡设备获取每个服务节点的状态信息,在获取的过程中无需单独在服务节点中植入脚本,进而避免了对服务节点的入侵。同时,监控设备只需要向负载均衡设备发送携带集群节点的标识的第一监控信息,使得负载均衡设备将每个服务节点的状态信息发送给监控设备,进而避免监控设备向每个服务节点发送监控请求造成的数据量大的问题,从而提高了对服务节点监控的可靠性,保证了整个监控系统的稳定运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a本发明实施例提供的应用服务的监控方法的应用场景图;
图1为本发明提供的应用服务的监控方法实施例一的信令流程图;
图1b为本发明提供的应用服务的监控方法获取的各服务节点的数据列表图;
图2为本发明提供的应用服务的监控方法实施例二的流程示意图;
图2a为F5设备的监控配置示意图;
图3为本发明提供的应用服务的监控方法实施例三的流程示意图;
图4为本发明提供的负载均衡设备实施例一的结构示意图;
图5为本发明提供的负载均衡设备实施例二的结构示意图;
图6为本发明提供的负载均衡设备实施例三的结构示意图;
图7为本发明提供的监控设备实施例一的结构示意图;
图8为本发明提供的监控设备实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1a本发明实施例提供的应用服务的监控方法的应用场景图。在图1a所示,一个监控设备对应多个负载均衡设备,一个均衡设备对应多个服务节点,该负载均衡设备可以是F5设备。
需要说明的是,本实施例的负载均衡设备在建立集群系统时,已近建立好与各集群节点、以及每个集群节点下的每个服务节点之间的通信关系,并且获知每个集群节点的标识、以及每个集群节点下的每个服务节点的标识。
本实施例的技术方法,通过负载均衡设备获取当前时刻每个集群节点下的每个服务节的状态信息,在接收到监控设备发生的第一监控请求时,将第一监控请求携带的集群节点的标识下的每个服务节点的状态信息发生给监控设备,以使实现监控设备对各服务节点的监控。本实施例的方案,监控设备向负载均衡设备发送携带集群节点的标识的第一监控请求,无需向每个服务节点发送监控请求,进而解决了现有技术由于监控设备向每个服务节点发送监控请求造成的监控工作量庞大,并引起的监控系统不稳定的问题。
本实施例的应用服务的监控方法,监控设备向均衡设备发送携带集群节点的标识的第一监控请求,降低了发送监控请求的数据量。同时,本实施例的方法,负载均衡设备在建立集群系统时,已与各集群节点以及各集群节点下的每个服务节点建立通信,这样使得负载均衡设备在获取各服务节点的状态信息时,无需单独在各服务节点中植入监控脚本,进而避免了对各服务节点的入侵。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明提供的应用服务的监控方法实施例一的信令流程图。本实施例涉及的是负载均衡设备根据监控设备发送的第一监控请求中携带的集群节点的标识,将该集群节点的标识对应的服务节点的状态信息发送给监控设备的具体过程。如图1所示,本实施例的方法可以包括:
S101、负载均衡设备获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息。
其中,所述负载均衡设备对应多个集群节点,每个集群节点对应多个服务节点,所述状态信息包括正常和异常。
由上述可知,由于负载均衡设备在建立集群系统时,已经建立好与集群节点以及各集群节点下的每个服务节点之间的通信关系,因此,负载均衡设备可以获取各服务节点的状态信息。服务节点的状态信息包括正常和异常。
负载均衡设备可以实时获取各服务节点的状态信息,可选的,均衡设备还可以间隔性地监控各服务节点的状态信息。可选的,还可以是各服务节点在预设的时间点将当前时刻自身的状态信息发送给负载均衡设备。本实施例对负载均衡设备获取每个服务节点的状态信息的具体方法不做限制。
图1b为负载均衡设备获取的各服务节点的数据列表,如图1b所示,一个负载均衡设备对应多个集群节点,例如集群节点Pool-eba-80和Pool-eba-8088,一个集群节点对应多个服务及节点,例如10.149.131.8092、10.149.132.8089为集群节点Pool-eba-80下的服务节点,10.149.133.8093、10.149.133.8095为集群节点Pool-eba-8088下的服务节点。
如图1b所示的各服务节点的数据列表中,当前时刻各服务节点的状态信息可以用不同的颜色表示,例如,绿色标记为服务节点正常,其他颜色代表服务节点的服务异常,如红色,黑色,黄色等,其中不同的颜色表示服务节点的异常的情况不同。需要说明的是,以上过程在进行集群系统的建立时已全部配置完成,监控设备无需进行干预。
可选的,如图1b所示,负载均衡设备获取的各服务节点的状态信息还包括各服务节点在当前时刻处理的数据量,例如输入输出的bits、输入输出的数据包等。
本实施例以一个负载均衡设备为例进行阐述,当监控设备对应多个负载均衡设备时,每个负载均衡设备的具体工作过程相似,本实施对此不再拽述。
S102、监控设备向负载均衡设备发送第一监控请求,所述第一监控请求包括所述集群节点的标识。
需要说明的是,如图1a所示,监控设备与各集群节点可以互相通信,可选的,监控设备还可以根据集群节点获得每个集群节点与每个服务节点之间的对应关系。
当监控设备需要监控各服务节点的运行情况时,监控设备将需要监控的服务节点对应的集群节点的标识携带在第一监控请求中。可选的,当监控设备需要监控该监控设备下的每个服务节点的状态时,监控设备将每个集群节点的标识携带在第一监控请求中,以实现对每个集群节点下的每个服务节点状态的监控。
S103、负载均衡设备接收监控设备发送的第一监控请求。
S104、负载均衡设备根据所述集群节点的标识,将所述集群节点的标识对应的每个服务节点的状态信息发送给所述监控设备。
负载均衡设备接收监控设备发送的第一监控请求,解析第一监控请求,获取第一监控请求所携带的集群节点的标识。接着,负载均衡设备根据该集群节点的标识,将该集群节点下的每个服务节点的状态信息发送给监控设备。可选的,负载均衡设备还可以将如图1b所示的各服务节点的数据列表发送给监控设备,以使监控设备从该数据列表中获取各服务节点的状态信息。
S105、监控设备接收所述负载均衡设备发送的所述集群节点的标识对应的每个服务节点的状态信息。
监控设备接收到负载均衡设备发送的该集群节点的标识下的每个服务节点的状态信息后,监控设备根据当前时刻各服务节点的状态信息判断各服务节点是否正常。
为了进一步阐释本实施例的技术方法,特举例说明:
负载均衡设备A获取当前时刻集群节点下的每个服务节点的状态信息如图1b所示。监控设备向负载均衡设备发送的第一监控请求中携带的集群节点的标识为Pool-eba-80。负载均衡设备接收到监控设备发送的第一监控请求后,获取第一监控请求中携带的集群节点的标识Pool-eba-80,将集群节点的标识Pool-eba-80的各服务节点10.149.131.8092、10.149.132.8089、……、10.149.133.8096的状态信息发送给监控设备。监控设备接收负载均衡设备发送的所述集群节点的标识对应的每个服务节点的状态信息,并根据各服务节点的状态信息获知各服务节点的状态是否正常,进而实现对各服务节点的状态的监控,提高了服务节点的可靠性。
在实际使用时,以F5设备为例,监控设备创建第一监控请求,该第一监控请求执行windows脚本,脚本实现对健康度收集数据的java程序调用,程序内部通过读取XML(Extensible Markup Language,可扩展标记语言)配置文件来获取要监控的集群节点的标识。接着,将该集群节点的标识作为输入参数,根据该输入参数调用F5设备的API(Application Programming Interface,应用程序编程接口),获取该集群节点的标识对应的各服务节点的状态信息。可选的,还可以获取各服务节点的IP、端口等信息。本实施例的技术方案,在对如图1b所示的服务节点进监控时,只需要如下两个XML描述就完成了25个服务节点的监控,这相比于现有技术分别向25个服务节点发送监控请求相比,减少了工作量。
其中,第一监控请求的XML描述可以是:
在本实施例中,当监控系统中增加一个新的集群节点时,只需要增加如上所示的一段XML描述,配置Pool name即可,进而实现对监控对象的快速、方便添加。
本发明实施例提供的应用服务的监控方法,通过负载均衡设备获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息,监控设备向负载均衡设备发送第一监控请求,负载均衡设备接收监控设备发送的第一监控请求,并根据所述集群节点的标识,将所述集群节点的标识对应的每个服务节点的状态信息发送给所述监控设备,以使监控设备根据每个服务节点的状态信息确定当前服务节点的状态是否正常。本实施例的技术方案,通过负载均衡设备获取每个服务节点的状态信息,在获取的过程中无需单独在服务节点中植入脚本,进而避免了对服务节点的入侵。同时,监控设备只需要向负载均衡设备发送携带集群节点的标识的第一监控信息,使得负载均衡设备将每个服务节点的状态信息发送给监控设备,进而避免监控设备向每个服务节点发送监控请求造成的数据量大的问题,从而提高了对服务节点监控的可靠性,保证了整个监控系统的稳定运行。
在本发明的一种可能的实现方式中,监控设备根据每个所述服务节点的状态信息,获取所述状态信息为异常的服务节点,并对所述状态信息为异常的服务节点进行报警。
具体的,监控设备接收负载均衡设备发送的各服务节点的状态信息,该状态信息可以包括服务节点的IP、端口等信息,监控设备对异常状态的服务节点组织报警内容,该报警内容包括服务节点的IP、端口、状态和报警级别等,并通过短信等方式将该报警内容发送到报警接收人,进一步提高了对服务节点监控的可靠性。
图2为本发明提供的应用服务的监控方法实施例二的流程示意图。在上述实施例的基础上,本实施例涉及的是负载均衡设备获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息的具体过程。如图2所示,本实施例的方法还可以包括:
S201、负载均衡设备向每个所述服务节点发送第二监控请求,所述第二监控请求中包括每个所述服务节点的标识。
在本实施例中,负载均衡设备实时获取该均衡设备下的每个服务节点的状态信息,负载均衡设备间隔性地获取每个服务节点的状态信息。具体是,在间隔时间到达时,负载均衡设备向每个服务节点发送第二监控请求,由于负载均衡设备与每个服务节点之间建立通信关系,因此,负载均衡设备可以直接获取各服务节点的状态信息而不需要另外配置获取脚本,避免对服务节点的入侵。
举例说明,假设负载均衡设备为F5设备时,如图2a所示的F5设备的监控配置示意图,在监控的配置过程中可以设置监测间隔等信息,其中监测间隔的具体设置可以根据实际需要进行确定,本实施例对此不走限制。例如图2a所示的监测间隔为5seconds。接着,待监控配置完成时,将该监控策略应用到对应的服务节点上,具体是,每隔5seconds负载均衡设备向该负载均衡设备下的每个服务节点发起第二请求,该第二请求中携带每个服务节点的标识。
S202、负载均衡设备接收每个所述服务节点发送的应答信息,所述应答信息中包括所述服务节点的标识和当前时刻所述服务节点的状态信息。
S203、负载均衡设备根据所述服务节点的标识将所述服务节点的状态信息保存在所述服务节点对应的集群节点的标识下。
具体的,负载均衡设备从服务节点的标识对应的服务节点的接口上,接收上述各服务节点返回的应答信息,并将此时各服务节点的应答信息刷新到本地缓存库中。其中,每个服务节点返回的应答信息中携带该服务节点的标识和该服务节点的状态信息等。
上述负载均衡设备将各服务节点的应答信息刷新到本地缓存库中具体过程是,负载均衡设备根据服务节点与集群节点之间的对应关系,将各服务节点的状态信息保存在各服务节点对应的集群节点的标识下。如图1b所示,负载均衡设备将服务节点10.149.131.8092、10.149.132.8089的应答信息保存在集群节点Pool-eba-80下,进而获取每个集群节点下的每个服务节点的状态信息。
本发明实施例提供的应用服务的监控方法,通过负载均衡设备向每个所述服务节点发送第二监控请求,所述第二监控请求中包括每个所述服务节点的标识,接收每个所述服务节点发送的应答信息,所述应答信息中包括所述服务节点的标识和当前时刻所述服务节点的状态信息,并根据所述服务节点的标识将所述服务节点的状态信息保存在所述服务节点对应的集群节点的标识下,进而实现对个服务节点的状态信息的准确获取。
图3为本发明提供的应用服务的监控方法实施例三的流程示意图。本实施例涉及的是负载均衡设备确定服务节点是否异常的具体过程。如图3所示,本实施例的方法可以包括:
S301、负载均衡设备判断在预设时间内是否接收到所述服务节点发送的应答信息。
S302、若否,负载均衡设备向每个服务节点再次发送所述第二监控请求。
如图2a所示,在进行监控配置的过程中,负载设备还可以配置预设时间(即等待时间),该预设时间的大小具体根据实际需要进行设定,例如如图2a所示,可以将预设时间设置为16seconds。
在实际使用时,负载均衡设备向每个服务节点发送第二监控请求。接着,负载均衡设备判断在预设时间内是否接收到每个服务节点发送的应答信息。若有,则负载均衡设备将此时服务节点的应答信息进行保存,并在监控设备发送第一监控请求时,将此时各服务节点的应答信息(或者应答信息中的状态信息)发送给监控设备,以使监控设备确定此时各服务节点的状态。若负载均衡设备判断在预设时间内没有接收到各服务节点发送的应答信息时,负载均衡设备再次向各服务节点发送第二监控请求。
可选的,本实施例还可以设定负载均衡设备重复发送第二监控请求的次数。当次数达到预设值,负载均衡设备依然没有接收到各服务节点发送的应答信息时,即可确定各服务节点处于异常。此情况,负载均衡设备可以将此时判断结构发送给监控设备,以使监控设备进行报警,或者负载均衡设备自行进行报警,以进一步提高监控系统的可靠性。
本发明实施例提供的应用服务的监控方法,负载均衡设备判断在预设时间内是否接收到所述服务节点根据所述第二监控请求发送的应答信息;若否,所述负载均衡设备向每个服务节点再次发送所述第二监控请求,进而提高了对服务节点的监控的可靠性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明提供的负载均衡设备实施例一的结构示意图。如图4所示,本实施例的负载均衡设备100可以包括:
获取模块10,用于获取当前时刻所述负载均衡设备对应的每个集群节点下的每个服务节点的状态信息,其中,所述负载均衡设备对应多个集群节点,每个集群节点对应多个服务节点,所述状态信息包括正常和异常。
接收模块20,用于接收监控设备发送的第一监控请求,所述第一监控请求包括所述集群节点的标识。
发送模块30,用于根据所述集群节点的标识,将所述集群节点的标识对应的每个服务节点的状态信息发送给所述监控设备。
本实施例的负载均衡设备,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明提供的负载均衡设备实施例二的结构示意图。在上述实施例的基础上,本实施例的获取模块10具体包括:
发送单元101,用于向每个所述服务节点发送第二监控请求,所述第二监控请求中包括每个所述服务节点的标识;
接收单元102,用于接收每个所述服务节点发送的应答信息,所述应答信息中包括所述服务节点的标识和当前时刻所述服务节点的状态信息;
保存单元103,用于根据所述服务节点的标识将所述服务节点的状态信息保存在所述服务节点对应的集群节点的标识下。
本实施例的负载均衡设备,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明提供的负载均衡设备实施例三的结构示意图。在上述实施例的基础上,本实施例的载均衡设备100还包括:
判断模块40,用于判断在预设的时间内是否接收到所述服务节点发送的应答信息。
确定模块50,用于在所述判断模块40在预设的时间内没有接收到所述服务节点发送的应答信息时,确定所述服务节点的状态信息为异常。
本实施例的负载均衡设备,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明提供的监控设备实施例一的结构示意图。本实施例的监控设备200可以包括:
发送模块10,用于向负载均衡设备发送第一监控请求,所述第一监控请求包括所述集群节点的标识;
接收模块20,用于接收所述集群节点发送的所述集群节点的标识对应的每个服务节点的状态信息,所述状态信息包括正常和异常。
本实施例的监控设备,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明提供的监控设备实施例二的结构示意图。在上述实施例的基础上,本实施例的监控设备200还可以包括:
获取模块30,用于根据每个所述服务节点的状态信息,获取所述状态信息为异常的服务节点。
报警模块40,用于对所述状态信息为异常的服务节点进行报警。
本实施例的监控设备,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。