CN105978721A - 一种集群***中监控服务运行状态的方法、装置和*** - Google Patents
一种集群***中监控服务运行状态的方法、装置和*** Download PDFInfo
- Publication number
- CN105978721A CN105978721A CN201610311715.8A CN201610311715A CN105978721A CN 105978721 A CN105978721 A CN 105978721A CN 201610311715 A CN201610311715 A CN 201610311715A CN 105978721 A CN105978721 A CN 105978721A
- Authority
- CN
- China
- Prior art keywords
- server
- service
- message
- monitoring
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种在集群***中监控服务的运行状态的方法。所述方法包括:第一服务器向第二服务器发送第一监控报文,该第一监控报文用于请求第二服务器上第一服务的运行状态,第一服务器和第二服务器是集群***内任意两个用于对外提供服务的服务器;第一服务器接收第二服务器针对第一监控报文返回的第一应答报文,第一应答报文中携带有第一服务在第二服务器上的运行状态信息;若第一服务在第二服务器上的运行状态信息表示运行状态异常,第一服务器发送恢复提示信息,该恢复提示信息用于提示对所述第二服务器上的所述第一服务进行恢复。此外,本发明实施例还公开了一种在集群***中监控服务的运行状态的装置和***。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种在集群***中监控服务的运行状态的方法、装置和***。
背景技术
在集群***中,多个服务器可以集中起来并发地进行相同的一个或多个服务。由于相同的服务被分担到多个服务器上执行,集群***对服务的承载能力有了极大的提升服务,因此,集群***的性能足以与大型机性能相媲美,并且,集群***相对于大型机来说成本更为低廉。因此,集群***目前被广泛地使用。
在集群***中,每个服务器上都运行有一个或多个服务。若某服务器上的某服务运行异常,集群***对该服务的正常运行也会受到影响,从而集群***就不能保证继续稳定地对外提供该服务。因此,集群***需要对每个服务器提供的每个服务进行运行状态的监控。通过监控服务的运行状态,集群***可以对任意一个服务器上运行状态异常的服务进行恢复,从而保持集群***持续稳定地对外提供服务。
在现有技术中,集群***除了包括用于对外提供服务的服务器,还包括用于对***内服务器监控服务运行状态的监控设备。该监控设备独立于其他服务器,不用于对外提供服务。通过独立的监控设备对集群***内各服务器运行的服务进行监控,该监控设备能够发现集群***内任意一个服务器上出现的异常并进行恢复,从而保证集群***正常地对外提供服务。但是,该监控设备是集群***内单独部署的一个硬件设备,在集群***中新部署一个硬件设备需要集群***消耗额外的软硬件资源,可见,集群***为了监控服务的运行状态需要消耗额外的软硬件资源。
发明内容
本申请所要解决的技术问题是,提供一种在集群***中监控服务的运行状态的方法、装置和***,以使得集群***内的服务运行状态不仅能够持续稳定地被监控,而且避免了集群***为监控服务运行状态而消耗额外的软硬件资源,从而不仅提高了监控的稳定性、可靠性而且也节约了***资源。
第一方面,提供了一种在集群***中监控服务的运行状态的方法。该方法包括:
第一服务器向第二服务器发送第一监控报文,所述第一监控报文用于请求所述第二服务器上第一服务的运行状态,所述第一服务器和所述第二服务器是所述集群***内任意两个用于对外提供服务的服务器;
所述第一服务器接收所述第二服务器针对所述第一监控报文返回的第一应答报文,所述第一应答报文中携带有所述第一服务在所述第二服务器上的运行状态信息;
若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,所述恢复提示信息用于提示对所述第二服务器上的所述第一服务进行恢复。
可选的,所述恢复提示信息为用于向所述第二服务器发送的操作指令,所述操作指令用于触发所述第二服务器执行针对所述第一服务的异常处理操作,所述异常处理操作用于使所述第一服务在所述第二服务器上恢复正常的运行状态。
可选的,所述异常处理操作为在所述第二服务器上重启所述第一服务,或,所述异常处理操作为所述第二服务器从所述集群***的数据库中更新数据到内存。
可选的,所述恢复提示信息为用于向***发送的短信告警通知,所述短信告警通知用于触发所述***向预先指定的用户发送告警短信,所述告警短信用于提示所述第二服务器上的所述第一服务处于异常的运行状态。
可选的,所述第一服务器向第二服务器发送监控报文,具体为:
所述第一服务器按照预先设定的监听周期,以轮询的方式向所述第二服务器发送所述第一监控报文。
可选的,所述第一服务器中安装有第一程序和第二程序,所述第一程序和所述第二程序可复用所述第一服务器本身的通讯功能;
所述第一服务器向第二服务器发送第一监控报文,具体为:所述第一服务器通过所述第一程序向所述第二服务器发送所述第一监控报文;
所述第一服务器接收所述第二服务器针对所述监控报文返回的第一应答报文,具体为:所述第一服务器通过所述第二程序接收所述第二服务器针对所述监控报文返回的所述第二应答报文。
可选的,还包括:
所述第一服务器接收所述第二服务器发送的第二监控报文,所述第二监控报文用于请求所述第一服务器上第二服务的运行状态;
所述第一服务器基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文,并针对所述第二监控报文向所述第二服务器返回所述第二应答报文。
可选的,所述第一服务器上保存有第一数据表,所述第一数据表用于记录所述第一服务器上各服务当前的运行状态信息;
所述第一服务器基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文,具体为:所述第一服务器基于所述第一数据表当前记录的运行状态信息生成所述第二应答报文。
可选的,所述若所述第一服务的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,包括:
若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器在所述集群***的数据库的第二数据表中记录异常服务信息,所述异常服务信息包括被监控节点标识、服务类型标识和监控节点标识,所述被监控节点标识为所述第二服务器的标识,所述服务类型标识为所述第一服务的标识,所述监控节点标识为所述第一服务器的标识;
所述第一服务器查询所述第二数据表,并在所述异常服务信息成功记录到所述第二数据表的情况下查询到所述异常服务信息;
所述第一服务器按照所述异常服务信息的指示,发送所述恢复提示信息。
可选的,在所述第一服务器发送所述恢复提示信息之后,还包括:
在所述第一服务在所述第二服务器上恢复正常的运行状态之后,所述第一服务器将所述第二数据表中的所述异常服务信息删除。
第一方面,提供了一种在集群***中监控服务的运行状态的装置。所述装置配置于第一服务器,包括:
第一发送单元,用于向第二服务器发送第一监控报文,所述第一监控报文用于请求所述第二服务器上第一服务的运行状态,所述第一服务器和所述第二服务器是所述集群***内任意两个用于对外提供服务的服务器;
第一接收单元,用于接收所述第二服务器针对所述第一监控报文返回的第一应答报文,所述第一应答报文中携带有所述第一服务在所述第二服务器上的运行状态信息;
第二发送单元,用于若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,所述恢复提示信息用于提示对所述第二服务器上的所述目标服务进行恢复。
可选的,所述装置还包括:
第二接收单元,用于接收所述第二服务器发送的第二监控报文,所述第二监控报文用于请求所述第一服务器上第二服务的运行状态;
生成单元,用于基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文;
返回单元,用于针对所述第二监控报文向所述第二服务器返回所述第二应答报文。
第三方面,提供了一种在集群***中监控服务的运行状态的***。该***包括第一服务器和第二服务器,所述第一服务器配置有前述任意一种实施方式的装置。
根据本申请提供的实施方式,对于集群***中的多个用于对外提供服务的服务器,可以采用一个服务器监控另一服务器上服务的运行状态,具体地,假设第一服务器和第二服务器是集群***内任意两个用于对外提供服务的服务器,第一服务器可以向第二服务器发送第一监控报文,以使得第二服务器返回携带有第一服务在第二服务器上的运行状态信息的第一应答报文,第一服务器就可以根据该运行状态信息确定第一服务在第二服务器上是否处于异常的运行状态,并可以在确定处于异常的情况下发送恢复提示信息,以提示对第二服务器上的第一服务进行恢复。由此可见,通过用于对外提供服务的一个服务器监控其他服务器上的服务运行状态,集群***不必为监控服务的运行状态而单独部署一个硬件设备,也不必为新部署硬件设备而消耗额外的软硬件资源,从而节约了集群***占用的资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一应用场景所涉及的网络***框架示意图;
图2为本发明实施例中一种在集群***中监控服务的运行状态的方法的流程示意图;
图3为本发明实施例中一种网络场景示例的示意图;
图4为本发明实施例中一种在集群***中监控服务的运行状态的装置的结构示意图;
图5为本发明实施例中一种在集群***中监控服务的运行状态的***的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,在现有技术中,由于集群***单独部署了一个硬件设备作为监控设备去监控各个用于对外提供服务器上的服务运行状态,集群***为了监控服务的运行状态就需要消耗额外的软硬件资源。此外,若该监控设备本身发生异常,集群***内各服务器上的服务运行状态就无法监控,运行状态异常的服务就无法恢复正常,可见,独立的监控设备难以持续稳定地监控集群***内的服务运行状态。
为了解决现有技术的上述问题,在本发明实施例中,对于集群***中的多个用于对外提供服务的服务器,可以采用一个服务器监控另一服务器上服务的运行状态。通过用于对外提供服务的一个服务器监控其他服务器上的服务运行状态,集群***不必为监控服务的运行状态而单独部署一个硬件设备,也不必为新部署硬件设备而消耗额外的软硬件资源,从而节约了集群***占用的资源。此外,对于集群***中的多个用于对外提供服务的服务器,每个服务器可以监控其他服务器上服务的运行状态。通过用于对外提供服务的服务器彼此之间互相监控对方的服务运行状态,即使某一或某些用于对外提供服务的服务器发生异常,集群***内其他的服务器也能够继续对所有服务器进行服务运行状态的监控,从而使得运行状态异常的服务能够恢复正常,使得服务运行状态能够持续稳定地被监控。
举例来说,本发明实施例的场景之一,可以是应用到如图1所示的网络***中。在该网络***中,服务器101和服务器102是集群***103内任意两个用于对外提供服务的服务器。首先,服务器101可以向服务器102发送监控报文,其中,监控报文用于请求服务器102上服务的运行状态。然后,服务器101接收服务器102针对监控报文返回的应答报文,其中,应答报文中携带有所述服务在服务器102上的运行状态信息。若所述服务在服务器102上的运行状态信息表示运行状态异常,则服务器101可以发送恢复提示信息,其中,恢复提示信息可以用于提示对服务器102上的所述服务进行恢复。
可以理解的是,上述场景仅是本发明实施例提供的一个场景示例,本发明实施例并不限于此场景。
下面结合附图,通过实施例来详细说明本发明实施例中……的具体实现方式。
参见图2,示出了本发明实施例中一种在集群***中监控服务的运行状态的方法的流程示意图。在本实施例中,所述方法例如具体可以包括:
201、第一服务器向第二服务器发送第一监控报文,所述第一监控报文用于请求所述第二服务器上第一服务的运行状态,所述第一服务器和所述第二服务器是所述集群***内任意两个用于对外提供服务的服务器。
具体实现时,若第一服务器需要对第二服务器进行服务运行状态的监控,第一服务器可以向第二服务器发送用于请求第二服务器上第一服务的运行状态的第一监控报文,以使得第二服务器返回第一服务在第二服务器上的运行状态信息。
其中,第一监控报文例如可以包括采集监控信息的功能标识以及第一服务器的标识。在一种第一监控报文的示例中,第一监控报文例如可以采用XML格式。例如,以下是一种监控报文的格式示例:“000XXX<Monitor><Command>InformationCollection</Command><Params><MonitorServerID>CathayServer11</MonitorServerID></Params></Monitor>”。其中,“Command”字段携带有监控信息采集功能的标识,即“InformationCollectiong”;“MonitorServerID”字段用于携带第一服务器的标识,即“CathayServer11”。
可以理解的是,第一服务器是集群***内具有监控功能的设备,用于监控集群***内其他服务器上服务运行状态。在本实施例中,第一服务器表示的是集群***内任意一个用于对外提供服务的服务器。进一步地,集群***内每一个用于对外提供服务的服务器都可以用于监控除自身之外的其他服务器,也即,集群***内每一个用于对外提供服务的服务器都可以是本实施例所描述的第一服务器。
需要说明的是,第二服务器是集群***内被第一服务器监控的设备。在本实施例中,第二服务器可以是除了第一服务器之外集群***内任意一个用于对外提供服务的服务器。进一步地,集群***内除第一服务器之外的每一个用于对外提供服务的服务器都可以被第一服务器监控服务运行状态,也即,集群***内除第一服务器之外的每一个用于对外提供服务的服务器都可以是本实施例所描述的第二服务器。
此外,第一服务可以是第二服务器上运行的任意一个服务。进一步地,第二服务器上运行的任意一个服务都可以被第一服务器监控运行状态,也即,第二服务器上运行的每一个服务都可以是本实施例所描述的第一服务。
在本实施例的一些实施方式中,第一服务器例如可以将第一监控报文发送给集群***内除第一服务器之外的所有服务器,以任意一个接收到第一监控报文的服务器作为第二服务器,第二服务器获取所有任务在第二服务器上的运行状况信息并反馈给第一服务器。在这种实施方式下,第一服务器能够通过一次监控报文的发送,就可以获取集群***内所有其他服务器上所有服务的运行状态。
在本实施例的一些实施方式中,为了能够保持监听稳定持续,第一服务器可以定期地发送监控报文,以定期地获取第二服务器当前的服务运行状态。具体地,在本实施例中,步骤201例如可以具体为:所述第一服务器按照预先设定的监听周期,以轮询的方式向所述第二服务器发送所述第一监控报文。
在本实施例的一些实施方式中,为了在第一服务器上通过已有的通讯功能在第一服务器上部署监控报文的发送功能,可以在第一服务器上安装一个能够复用第一服务器本身已有的通讯功能的第一程序,以使得第一服务器可以通过第一程序发送监控报文。具体地,201例如可以具体为:所述第一服务器通过所述第一程序向所述第二服务器发送所述第一监控报文;其中,所述第一程序可复用所述第一服务器本身的通讯功能。在一个更为具体的示例中,第一服务器本身的通讯功能例如可以是由异步通讯框架MINA提供,第一程序可以通过直接复用第一服务器上的MINA框架实现第一监控报文的发送功能。
202、所述第一服务器接收所述第二服务器针对所述第一监控报文返回的第一应答报文,所述第一应答报文中携带有所述第一服务在所述第二服务器上的运行状态信息。
具体实现时,第二服务器响应于接收到第一服务器发送的第一监控报文,可以基于第一服务在第二服务器上的运行状态信息生成第一应答报文,并针对第一监控报文向第一服务器返回第一应答报文,以使得第一服务器通过接收第一应答报文获得第一服务在第二服务器上的运行状态信息。
更为具体地,在本实施例的一些实施方式中,第二服务器上例如可以保存有一个数据表。在该数据表中例如可以通过实时更新的方式记录第二服务器上各个服务当前的运行状态信息。第二服务器响应于接收到第一监控报文,可以基于该数据表当前记录的运行状态信息生成第一应答报文。其中,第一应答报文例如可以携带该数据表当前记录的所有运行状态信息,这其中就包括有第一服务的运行状态信息。
在本实施例的一些实施方式中,为了在第一服务器上通过已有的通讯功能在第一服务器上部署应答报文的接收功能,可以在第一服务器上安装一个能够复用第一服务器本身已有的通讯功能的第二程序并为第二程序设置一个监听接口,以使得第一服务器可以通过第二程序的监听接口接收应答报文。具体地,202例如可以具体为:所述第一服务器通过所述第二程序接收所述第二服务器针对所述监控报文返回的所述第二应答报文;其中,所述第二程序可复用所述第一服务器本身的通讯功能。在一个更为具体的示例中,第一服务器本身的通讯功能例如可以是由异步通讯框架MINA提供,第二程序可以通过直接复用第一服务器上的MINA框架实现第一监控报文的发送功能。
可以理解的是,前述用于发送监控报文的第一程序与前述用于接收应答报文的第二程序,可以是同一个应用程序,或者也可以是两个不同的应用程序。
在本实施例的一些实施方式中,在第一服务器监控第二服务器的服务运行状态的基础上,第二服务器还可以监控第一服务器的服务运行状态,也即,集群***内的不同服务器之间可以相互监控对方的服务运行状态。具体地,本实施例例如还可以包括:所述第一服务器接收所述第二服务器发送的第二监控报文,所述第二监控报文用于请求所述第一服务器上第二服务的运行状态;所述第一服务器基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文,并针对所述第二监控报文向所述第二服务器返回所述第二应答报文。更为具体地,所述第一服务器上例如可以保存有第一数据表,所述第一数据表用于记录所述第一服务器上各服务当前的运行状态信息;所述第一服务器生成第二应答报文的方式,例如具体在于:所述第一服务器基于所述第一数据表当前记录的运行状态信息生成所述第二应答报文。
203、若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,所述恢复提示信息用于提示对所述第二服务器上的所述第一服务进行恢复。
具体实现时,第一服务器可以对第一服务在第二服务器上的运行状态信息进行识别,并根据识别结果确定是否发送恢复提示信息。若识别结果为该运行状态信息标识运行状态异常,则第一服务器发送恢复提示信息。若识别结果为该运行状态信息表示运行状态正常,则第一服务器可以不必发送恢复提示信息。
在本实施例中,第一服务器发送的恢复提示信息是用于提示对第二服务器上运行异常的第一服务进行恢复。
在本实施例的一些实施方式中,第一服务器可以通过向第二服务器发送操作指令的方式实现恢复提示信息的发送。其中,所述恢复提示信息具体为用于向所述第二服务器发送的操作指令,所述操作指令具体用于触发所述第二服务器执行针对所述第一服务的异常处理操作,所述异常处理操具体作用于使所述第一服务在所述第二服务器上恢复正常的运行状态。
可以理解的是,对于不同的服务出现的不同异常运行状态,可以采用不同的所述异常处理操作。
例如,若第一服务出现的异常运行状态可以通过重启服务排除,则所述异常处理操作可以为在所述第二服务器上重启所述第一服务,所述操作指令可以为用于指示第二服务器重启第一服务的重启命令,所述恢复提示信息可以为用于携带所述重启命令的重启命令报文。其中,重启命令报文例如可以包括重启命令的功能标识以及第一服务的标识。在一种重启命令报文的示例中,重启命令报文例如可以采用XML格式。例如,以下是一种重启命令报文的格式示例:“000XXX<Monitor><Command>Restart_Service</Command><Params><MonitorServerID>CathayServer11</MonitorServerID><ServiceType>CacheManager</ServiceType></Params></Monitor>”。其中,“Command”字段用于携带重启命令的功能标识,即“Restart_Service”;“ServiceType”字段用于携带第一服务的标识,即“CacheManager”。
又如,若第一服务出现的异常运行状态为缓存信息不正确,则所述异常处理操作可以为所述第二服务器从所述集群***的数据库中更新第一服务的数据到内存,所述操作指令可以为用于指示第二服务器从数据库更新第一服务的数据到内存的缓存刷新命令,所述恢复提示信息可以为用于携带所述缓存刷新命令的缓存刷新命令报文。其中,缓存刷新命令报文例如可以包括缓存刷新命令的功能标识和第一服务的标识。在一种缓存刷新命令报文的示例中,缓存刷新命令报文例如可以采用XML格式。例如,以下是一种缓存刷新命令报文的格式示例:“000XXX<Tulip><Command>Refresh</Command><Params><<MonitorServerID>CathayServer11</MonitorServerID>CacheType>CTGConnectionPoolConfCache</CacheType></Params></Tulip>”。其中,“Command”字段用于携带缓存刷新命令的功能标识,即“Refresh”;“CacheType”字段用于携带第一服务的标识,即“CTGConnectionPoolConfCache”。
在本实施例中的另一些实施方式中,第一服务器可以通过触发***向指定用户发送告警短信的方式实现恢复提示信息的发送。其中,所述恢复提示信息具体为用于向***发送的短信告警通知,所述短信告警通知具体用于触发所述***向预先指定的用户发送告警短信,所述告警短信具体用于提示所述第二服务器上的所述第一服务处于异常的运行状态,以使得用户对该异常的运行状态进行排除。
此外,在第一服务器向第二服务器发送第一监控报文之后,若第一服务器接收不到第二服务器针对第一监控报文返回的第一应答报文,则第一服务器也可以向***发送短信告警通知,触发***向预先指定的用户发送短信告警信息,以提示用户第二服务器存在异常。
需要说明的是,在本实施例的一些实施方式中,对于集群***中多个用于对外提供服务的服务器,每个服务器都可以监控其他服务上的服务运行状态。这种情况下,同一服务器上同一服务的同一异常运行状态可能会被多个其他的服务器监听到。为了避免多个服务器都处理同一异常运行状态,可以在集群***的数据库中保存一个数据表,用以记录服务器监听到的异常运行状态。服务器可以通过在该数据表中保存异常服务信息以及查询异常服务信息对异常运行状态的服务进行处理。具体地,203例如可以包括:若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器在所述集群***的数据库的第二数据表中记录异常服务信息;所述第一服务器查询所述第二数据表,并在所述异常服务信息成功记录到所述第二数据表的情况下查询到所述异常服务信息;所述第一服务器按照所述异常服务信息的指示,发送所述恢复提示信息。其中,所述异常服务信息包括被监控节点标识、服务类型标识和监控节点标识,所述被监控节点标识为所述第二服务器的标识,所述服务类型标识为所述第一服务的标识,所述监控节点标识为所述第一服务器的标识。此外,所述异常服务信息,还可以包括异常服务的名称、刷新服务的名称和在第二数据表中的记录时间等。在第二数据表中,异常服务信息的主键可以是其被监控节点标识和服务类型标识。
可以理解的是,在异常服务信息中,监控节点标识表示用于处理所述异常服务信息的服务器。当第一服务器查询在第二数据表中查询到一个异常服务信息时可以识别异常服务器中的监控节点标识。若所述异常服务信息中的监测节点标识是所述第一服务器本身的标识,则第一服务器对该异常服务信息进行处理,若所述异常服务信息中的监测节点标识不是所述第一服务器本身的标识,则第一服务器就不对该异常服务器信息进行处理。
进一步而言,在203执行完成之后,若第一服务在第二服务器上恢复正常的运行状态,第一服务器可以将第二数据表中的所述异常服务信息删除。
需要说明的是,本实施例例如可以应用到如图3所示的网络场景中。在该网络场景中,集群***包括多个用于对外提供服务的服务器,即图3所示的“节点1”、“节点2”、“节点3”和“节点4”。这些服务器中的每一个服务器,既可以作为本实施例中的第一服务器去监控其他服务器上的服务运行状态,也可以作为本实施例的第二服务器被其他服务器监控服务运行状态。图3所示的“DB”即为本实施例前述的数据库。图3所示的“短信告警平台”即为本实施例前述的***。
通过本实施例提供的实施方式,对于集群***中的多个用于对外提供服务的服务器,可以采用一个服务器监控另一服务器上服务的运行状态。通过用于对外提供服务的一个服务器监控其他服务器上的服务运行状态,集群***不必为监控服务的运行状态而单独部署一个硬件设备,也不必为新部署硬件设备而消耗额外的软硬件资源,从而节约了集群***占用的资源。此外,对于集群***中的多个用于对外提供服务的服务器,每个服务器可以监控其他服务器上服务的运行状态。通过用于对外提供服务的服务器彼此之间互相监控对方的服务运行状态,即使某一或某些用于对外提供服务的服务器发生异常,集群***内其他的服务器也能够继续对所有服务器进行服务运行状态的监控,从而使得运行状态异常的服务能够恢复正常,使得服务运行状态能够持续稳定地被监控。
参见图4,示出了本发明实施例中一种在集群***中监控服务的运行状态的装置的结构示意图。在本实施例中,所述装置400可以配置于第一服务器。所述装置400例如具体可以包括:
第一发送单元401,用于向第二服务器发送第一监控报文,所述第一监控报文用于请求所述第二服务器上第一服务的运行状态,所述第一服务器和所述第二服务器是所述集群***内任意两个用于对外提供服务的服务器;
第一接收单元402,用于接收所述第二服务器针对所述第一监控报文返回的第一应答报文,所述第一应答报文中携带有所述第一服务在所述第二服务器上的运行状态信息;
第二发送单元403,用于若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,所述恢复提示信息用于提示对所述第二服务器上的所述目标服务进行恢复。
可选的,在本实施例的一些实施方式中,所述恢复提示信息例如可以为用于向所述第二服务器发送的操作指令,所述操作指令可以用于触发所述第二服务器执行针对所述第一服务的异常处理操作,所述异常处理操作可以用于使所述第一服务在所述第二服务器上恢复正常的运行状态。
可选的,在本实施例的另一些实施方式中,所述异常处理操作例如可以为在所述第二服务器上重启所述第一服务,或,所述异常处理操作又如可以为所述第二服务器从所述集群***的数据库中更新数据到内存。
可选的,在本实施例的又一些实施方式中,所述恢复提示信息例如可以为用于向***发送的短信告警通知,所述短信告警通知可以用于触发所述***向预先指定的用户发送告警短信,所述告警短信可以用于提示所述第二服务器上的所述第一服务处于异常的运行状态。
可选的,在本实施例的再一些实施方式中,所述第一发送单元,例如具体可以用于按照预先设定的监听周期,以轮询的方式向所述第二服务器发送所述第一监控报文。
可选的,在本实施例的又再一些实施方式中,所述第一服务器中例如可以安装有第一程序和第二程序,所述第一程序和所述第二程序可以复用所述第一服务器本身的通讯功能;
所述第一发送单元401,可以具体用于通过所述第一程序向所述第二服务器发送所述第一监控报文;
所述第一接收单元402,可以具体用于通过所述第二程序接收所述第二服务器针对所述监控报文返回的所述第二应答报文。
可选的,在本实施例的又再一些实施方式中,所述装置400例如还可以包括:
第二接收单元,用于接收所述第二服务器发送的第二监控报文,所述第二监控报文用于请求所述第一服务器上第二服务的运行状态;
生成单元,用于基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文;
返回单元,用于针对所述第二监控报文向所述第二服务器返回所述第二应答报文。
可选的,在本实施例的又再一些实施方式中,所述第一服务器上例如可以保存有第一数据表,所述第一数据表可以用于记录所述第一服务器上各服务当前的运行状态信息;
所述生成单元,可以具体用于基于所述第一数据表当前记录的运行状态信息生成所述第二应答报文。
可选的,在本实施例的又再一些实施方式中,所述第二发送单元403例如可以具体用于:
若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,在所述集群***的数据库的第二数据表中记录异常服务信息,所述异常服务信息包括被监控节点标识、服务的类型标识和监控节点标识,所述被监控节点标识为所述第二服务器的标识,所述服务的类型标识为所述第一服务的标识,所述监控节点标识为所述第一服务器的标识;
查询所述第二数据表,并在所述异常服务信息成功记录到所述第二数据表的情况下查询到所述异常服务信息;
按照所述异常服务信息的指示,发送所述恢复提示信息。
可选的,在本实施例的又再一些实施方式中,所述装置400例如还可以包括:
删除单元,用于响应于所述第二发送单元发送所述恢复提示信息,在所述第一服务在所述第二服务器上恢复正常的运行状态之后,将所述第二数据表中的所述异常服务信息删除。
通过本实施例提供的实施方式,对于集群***中的多个用于对外提供服务的服务器,可以采用一个服务器监控另一服务器上服务的运行状态。通过用于对外提供服务的一个服务器监控其他服务器上的服务运行状态,集群***不必为监控服务的运行状态而单独部署一个硬件设备,也不必为新部署硬件设备而消耗额外的软硬件资源,从而节约了集群***占用的资源。此外,对于集群***中的多个用于对外提供服务的服务器,每个服务器可以监控其他服务器上服务的运行状态。通过用于对外提供服务的服务器彼此之间互相监控对方的服务运行状态,即使某一或某些用于对外提供服务的服务器发生异常,集群***内其他的服务器也能够继续对所有服务器进行服务运行状态的监控,从而使得运行状态异常的服务能够恢复正常,使得服务运行状态能够持续稳定地被监控。
参见图5,示出了本发明实施例中一种在集群***中监控服务的运行状态的***的结构示意图。在本实施例中,所述***例如具体可以包括第一服务器501和第二服务器502,所述第一服务器501配置前述图4所示的实施例中任意一种实施方式的装置。
通过本实施例提供的实施方式,对于集群***中的多个用于对外提供服务的服务器,可以采用一个服务器监控另一服务器上服务的运行状态。通过用于对外提供服务的一个服务器监控其他服务器上的服务运行状态,集群***不必为监控服务的运行状态而单独部署一个硬件设备,也不必为新部署硬件设备而消耗额外的软硬件资源,从而节约了集群***占用的资源。此外,对于集群***中的多个用于对外提供服务的服务器,每个服务器可以监控其他服务器上服务的运行状态。通过用于对外提供服务的服务器彼此之间互相监控对方的服务运行状态,即使某一或某些用于对外提供服务的服务器发生异常,集群***内其他的服务器也能够继续对所有服务器进行服务运行状态的监控,从而使得运行状态异常的服务能够恢复正常,使得服务运行状态能够持续稳定地被监控。
本发明实施例中提到的“第一服务器”、“第一服务”、“第一监控报文”、“第一应答报文”、“第一数据表”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-onlymemory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例和设备实施例而言,由于其基本相似于***实施例,所以描述得比较简单,相关之处参见***实施例的部分说明即可。以上所描述的设备及***实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种在集群***中监控服务的运行状态的方法,其特征在于,所述方法包括:
第一服务器向第二服务器发送第一监控报文,所述第一监控报文用于请求所述第二服务器上第一服务的运行状态,所述第一服务器和所述第二服务器是所述集群***内任意两个用于对外提供服务的服务器;
所述第一服务器接收所述第二服务器针对所述第一监控报文返回的第一应答报文,所述第一应答报文中携带有所述第一服务在所述第二服务器上的运行状态信息;
若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,所述恢复提示信息用于提示对所述第二服务器上的所述第一服务进行恢复。
2.根据权利要求1所述的方法,其特征在于,所述恢复提示信息为用于向所述第二服务器发送的操作指令,所述操作指令用于触发所述第二服务器执行针对所述第一服务的异常处理操作,所述异常处理操作用于使所述第一服务在所述第二服务器上恢复正常的运行状态。
3.根据权利要求2所述的方法,其特征在于,所述异常处理操作为在所述第二服务器上重启所述第一服务,或,所述异常处理操作为所述第二服务器从所述集群***的数据库中更新数据到内存。
4.根据权利要求1所述的方法,其特征在于,所述恢复提示信息为用于向***发送的短信告警通知,所述短信告警通知用于触发所述***向预先指定的用户发送告警短信,所述告警短信用于提示所述第二服务器上的所述第一服务处于异常的运行状态。
5.根据权利要求1所述的方法,其特征在于,所述第一服务器向第二服务器发送监控报文,具体为:
所述第一服务器按照预先设定的监听周期,以轮询的方式向所述第二服务器发送所述第一监控报文。
6.根据权利要求1所述的方法,其特征在于,所述第一服务器中安装有第一程序和第二程序,所述第一程序和所述第二程序可复用所述第一服务器本身的通讯功能;
所述第一服务器向第二服务器发送第一监控报文,具体为:所述第一服务器通过所述第一程序向所述第二服务器发送所述第一监控报文;
所述第一服务器接收所述第二服务器针对所述监控报文返回的第一应答报文,具体为:所述第一服务器通过所述第二程序接收所述第二服务器针对所述监控报文返回的所述第二应答报文。
7.根据权利要求1所述的方法,其特征在于,还包括:
所述第一服务器接收所述第二服务器发送的第二监控报文,所述第二监控报文用于请求所述第一服务器上第二服务的运行状态;
所述第一服务器基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文,并针对所述第二监控报文向所述第二服务器返回所述第二应答报文。
8.根据权利要求7所述的方法,其特征在于,所述第一服务器上保存有第一数据表,所述第一数据表用于记录所述第一服务器上各服务当前的运行状态信息;
所述第一服务器基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文,具体为:所述第一服务器基于所述第一数据表当前记录的运行状态信息生成所述第二应答报文。
9.根据权利要求1所述的方法,其特征在于,所述若所述第一服务的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,包括:
若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器在所述集群***的数据库的第二数据表中记录异常服务信息,所述异常服务信息包括被监控节点标识、服务类型标识和监控节点标识,所述被监控节点标识为所述第二服务器的标识,所述服务类型标识为所述第一服务的标识,所述监控节点标识为所述第一服务器的标识;
所述第一服务器查询所述第二数据表,并在所述异常服务信息成功记录到所述第二数据表的情况下查询到所述异常服务信息;
所述第一服务器按照所述异常服务信息的指示,发送所述恢复提示信息。
10.根据权利要求9所述的方法,其特征在于,在所述第一服务器发送所述恢复提示信息之后,还包括:
在所述第一服务在所述第二服务器上恢复正常的运行状态之后,所述第一服务器将所述第二数据表中的所述异常服务信息删除。
11.一种在集群***中监控服务的运行状态的装置,其特征在于,所述装置配置于第一服务器,包括:
第一发送单元,用于向第二服务器发送第一监控报文,所述第一监控报文用于请求所述第二服务器上第一服务的运行状态,所述第一服务器和所述第二服务器是所述集群***内任意两个用于对外提供服务的服务器;
第一接收单元,用于接收所述第二服务器针对所述第一监控报文返回的第一应答报文,所述第一应答报文中携带有所述第一服务在所述第二服务器上的运行状态信息;
第二发送单元,用于若所述第一服务在所述第二服务器上的运行状态信息表示运行状态异常,所述第一服务器发送恢复提示信息,所述恢复提示信息用于提示对所述第二服务器上的所述目标服务进行恢复。
12.根据权利要求11所述的装置,其特征在于,还包括:
第二接收单元,用于接收所述第二服务器发送的第二监控报文,所述第二监控报文用于请求所述第一服务器上第二服务的运行状态;
生成单元,用于基于所述第二服务在所述第一服务器上的运行状态信息生成第二应答报文;
返回单元,用于针对所述第二监控报文向所述第二服务器返回所述第二应答报文。
13.一种在集群***中监控服务的运行状态的***,其特征在于,包括第一服务器和第二服务器,所述第一服务器配置有权利要求11或12所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610311715.8A CN105978721B (zh) | 2016-05-11 | 2016-05-11 | 一种集群***中监控服务运行状态的方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610311715.8A CN105978721B (zh) | 2016-05-11 | 2016-05-11 | 一种集群***中监控服务运行状态的方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105978721A true CN105978721A (zh) | 2016-09-28 |
CN105978721B CN105978721B (zh) | 2019-04-12 |
Family
ID=56993003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610311715.8A Active CN105978721B (zh) | 2016-05-11 | 2016-05-11 | 一种集群***中监控服务运行状态的方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105978721B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161090A (zh) * | 2016-07-12 | 2016-11-23 | 许继集团有限公司 | 一种分区集群***的监测方法及装置 |
CN106713007A (zh) * | 2016-11-15 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种告警监控***、用于服务器的告警监控方法及其装置 |
CN107257384A (zh) * | 2017-07-24 | 2017-10-17 | 北京小米移动软件有限公司 | 服务状态监控方法及装置 |
CN109361525A (zh) * | 2018-10-25 | 2019-02-19 | 珠海派诺科技股份有限公司 | 重启分布式部署多服务的方法、装置、控制终端及介质 |
CN109828883A (zh) * | 2017-11-23 | 2019-05-31 | 腾讯科技(北京)有限公司 | 任务数据处理方法和装置、存储介质及电子装置 |
CN110445650A (zh) * | 2019-08-07 | 2019-11-12 | 中国联合网络通信集团有限公司 | 检测报警方法、设备及服务器 |
CN110531988A (zh) * | 2019-08-06 | 2019-12-03 | 新华三大数据技术有限公司 | 应用程序的状态预测方法及相关装置 |
CN111565135A (zh) * | 2020-04-30 | 2020-08-21 | 吉林省鑫泽网络技术有限公司 | 监控服务器运行的方法、监控服务器和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075919A (zh) * | 2006-06-22 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种互联网业务的监控***和监控方法 |
CN101207519A (zh) * | 2007-12-13 | 2008-06-25 | 上海华为技术有限公司 | 版本服务器、操作维护单元及其故障的恢复方法 |
CN102231681A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种高可用集群计算机***及其故障处理方法 |
CN102291275A (zh) * | 2011-08-01 | 2011-12-21 | 烟台杰瑞网络商贸有限公司 | 一种服务器集群监控技术及方法 |
-
2016
- 2016-05-11 CN CN201610311715.8A patent/CN105978721B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075919A (zh) * | 2006-06-22 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种互联网业务的监控***和监控方法 |
CN101207519A (zh) * | 2007-12-13 | 2008-06-25 | 上海华为技术有限公司 | 版本服务器、操作维护单元及其故障的恢复方法 |
CN102231681A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种高可用集群计算机***及其故障处理方法 |
CN102291275A (zh) * | 2011-08-01 | 2011-12-21 | 烟台杰瑞网络商贸有限公司 | 一种服务器集群监控技术及方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161090A (zh) * | 2016-07-12 | 2016-11-23 | 许继集团有限公司 | 一种分区集群***的监测方法及装置 |
CN106713007A (zh) * | 2016-11-15 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种告警监控***、用于服务器的告警监控方法及其装置 |
CN107257384A (zh) * | 2017-07-24 | 2017-10-17 | 北京小米移动软件有限公司 | 服务状态监控方法及装置 |
CN107257384B (zh) * | 2017-07-24 | 2021-08-17 | 北京小米移动软件有限公司 | 服务状态监控方法及装置 |
CN109828883A (zh) * | 2017-11-23 | 2019-05-31 | 腾讯科技(北京)有限公司 | 任务数据处理方法和装置、存储介质及电子装置 |
CN109828883B (zh) * | 2017-11-23 | 2023-03-17 | 腾讯科技(北京)有限公司 | 任务数据处理方法和装置、存储介质及电子装置 |
CN109361525A (zh) * | 2018-10-25 | 2019-02-19 | 珠海派诺科技股份有限公司 | 重启分布式部署多服务的方法、装置、控制终端及介质 |
CN109361525B (zh) * | 2018-10-25 | 2021-08-13 | 珠海派诺科技股份有限公司 | 重启分布式部署多服务的方法、装置、控制终端及介质 |
CN110531988A (zh) * | 2019-08-06 | 2019-12-03 | 新华三大数据技术有限公司 | 应用程序的状态预测方法及相关装置 |
CN110445650A (zh) * | 2019-08-07 | 2019-11-12 | 中国联合网络通信集团有限公司 | 检测报警方法、设备及服务器 |
CN110445650B (zh) * | 2019-08-07 | 2022-06-10 | 中国联合网络通信集团有限公司 | 检测报警方法、设备及服务器 |
CN111565135A (zh) * | 2020-04-30 | 2020-08-21 | 吉林省鑫泽网络技术有限公司 | 监控服务器运行的方法、监控服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105978721B (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105978721A (zh) | 一种集群***中监控服务运行状态的方法、装置和*** | |
CN103605722B (zh) | 数据库监控方法及装置、设备 | |
CN106856489A (zh) | 一种分布式存储***的服务节点切换方法和装置 | |
EP3210367B1 (en) | System and method for disaster recovery of cloud applications | |
CN106713487A (zh) | 数据的同步方法和装置 | |
CN109710394A (zh) | 定时任务处理***及方法 | |
CN108390907B (zh) | 一种基于Hadoop集群的管理监控***及方法 | |
CN108089915B (zh) | 基于消息队列的业务控件化处理的方法及*** | |
CN107682169B (zh) | 一种利用Kafka集群发送消息的方法和装置 | |
CN113704052B (zh) | 一种微服务架构的运维***、方法、设备及介质 | |
EP3439237A1 (en) | Exception monitoring and alarming method and device | |
CN108268305A (zh) | 用于虚拟机自动扩缩容的***和方法 | |
CN105429799A (zh) | 服务器备份方法及装置 | |
CN106330531A (zh) | 节点故障记录和处理的方法以及装置 | |
CN112422684A (zh) | 目标消息的处理方法及装置、存储介质、电子装置 | |
CN111813348A (zh) | 统一存储设备中的节点事件处理装置、方法、设备及介质 | |
CN117130730A (zh) | 面向联邦Kubernetes集群的元数据管理方法 | |
JP2005301436A (ja) | クラスタシステムおよびクラスタシステムにおける障害回復方法 | |
CN104734895A (zh) | 业务监控***及业务监控方法 | |
JP6418377B2 (ja) | 管理対象装置、管理装置及びネットワーク管理システム | |
CN115202958A (zh) | 一种电力异常监控方法、装置、电子设备及存储介质 | |
CN110620798A (zh) | Ftp连接的控制方法、***、设备和存储介质 | |
CN105025179A (zh) | 呼叫中心座席的监控方法及*** | |
CN115687019A (zh) | 数据库集群的故障处理方法、智能监控平台、设备和介质 | |
CN113824595B (zh) | 链路切换控制方法、装置和网关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |