CN107395458B - 系统监控方法及装置 - Google Patents

系统监控方法及装置 Download PDF

Info

Publication number
CN107395458B
CN107395458B CN201710643858.3A CN201710643858A CN107395458B CN 107395458 B CN107395458 B CN 107395458B CN 201710643858 A CN201710643858 A CN 201710643858A CN 107395458 B CN107395458 B CN 107395458B
Authority
CN
China
Prior art keywords
node
nodes
distribution
auxiliary
monitored
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.)
Active
Application number
CN201710643858.3A
Other languages
English (en)
Other versions
CN107395458A (zh
Inventor
刘利栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201710643858.3A priority Critical patent/CN107395458B/zh
Publication of CN107395458A publication Critical patent/CN107395458A/zh
Application granted granted Critical
Publication of CN107395458B publication Critical patent/CN107395458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出一种系统监控方法及装置,其中,方法包括:在获取到各节点返回的投票信息时,确定自身为分配节点;确定当前可用的各辅助节点的标识及待监控的资源;将所述待监控的资源,平均分配给所述分配节点自身及所述当前可用的各辅助节点。通过该方法,能够实现根据当前可用的节点动态分配待监控的资源,提高了监控系统的可用性和可靠性,实现了各个节点间的负载均衡。

Description

系统监控方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种系统监控方法及装置。
背景技术
目前现有主流系统监控软件,例如Application Manager、Zabbix、Solawinds等,在监控服务器、网络设备、中间件、数据库、存储等资源时,均采用主节点和代理节点的分布式部署方式,以解决大规模数据监控时,单节点性能无法满足采集所有资源需求的问题。
这种方式下,由于每个代理节点只能监控分配给自己的资源,而不能监控其他代理节点上的资源,这就使得,任意代理节点宕机时,由此代理节点监控的资源就无法被监控,此时若此代理节点监控的资源出现问题,将无法及时告警,监控系统的可靠性较差。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种系统监控方法,以实现根据当前可用的节点动态分配待监控的资源,提高了监控系统的可用性和可靠性,实现了各个节点间的负载均衡,以解决现有技术中任意代理节点宕机时,由此代理节点监控的资源就无法被监控,此时若此代理节点监控的资源出现问题,将无法及时告警,监控系统的可靠性较差的问题。
本发明的第二个目的在于提出另一种系统监控方法。
本发明的第三个目的在于提出一种系统监控装置。
本发明的第四个目的在于提出另一种系统监控装置。
本发明的第五个目的在于提出一种计算机设备。
本发明的第六个目的在于提出一种计算机程序产品。
本发明的第七个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种系统监控方法,应用于分配节点,包括:在获取到各节点返回的投票信息时,确定自身为分配节点;确定当前可用的各辅助节点的标识及待监控的资源;将所述待监控的资源,平均分配给所述分配节点自身及所述当前可用的各辅助节点。
可选地,作为第一方面的第一种可能的实现方式,所述获取到其它节点返回的投票信息之前,还包括:
在预设的时间段内未收到再先分配节点发送的心跳消息时,向所述其它节点发送投票请求;
或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,所述第一节点组中不包含所述第一节点;
或者,在获取第二节点发送的连接请求时,分别向第二节点组中各节点发送投票请求,所述第二节点组中包含所述第二节点。
可选地,作为第一方面的第二种可能的实现方式,所述确定当前可用的各辅助节点的标识,包括:
根据所述分配节点自身与其它节点间的长连接状态,确定所述当前可用的各辅助节点的标识。
可选地,作为第一方面的第三种可能的实现方式,所述将所述待监控的资源,平均分配给所述分配节点自身及所述当前可用的各辅助节点之后,还包括:
获取所述各辅助节点及所述分配节点自身当前的使用状态;
在确定所述各辅助节点及所述分配节点自身当前的使用状态,满足调整阈值时,对所述各辅助节点及所述分配节点自身分别监控的资源进行调整。
可选地,作为第一方面的第四种可能的实现方式,所述对所述各辅助节点及所述分配节点自身分别监控的资源进行调整,包括:
根据所述各辅助节点及所述分配节点自身当前的使用状态,确定初始调整步长;
以所述初始调整步长,调整所述各辅助节点及所述分配节点自身监控的资源;
获取调整后的各辅助节点及所述分配节点自身的新的使用状态;
在确定所述各辅助节点及所述分配节点自身的新的使用状态,满足调整阈值时,继续对所述各辅助节点及所述分配节点分别监控的资源进行调整,直至所述各辅助节点及所述分配节点自身的使用状态,不满足调整阈值。
可选地,作为第一方面的第五种可能的实现方式,节点的使用状态,包括:
所述节点当前是否可用、及所述节点中资源的使用率。
本发明实施例的系统监控方法,通过在获取到各节点返回的投票信息时,确定自身为分配节点,确定当前可用的各辅助节点的标识及待监控的资源,将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。由此,实现了能够根据当前可用的节点动态分配待监控的资源,提高了监控系统的可用性和可靠性,实现了各个节点间的负载均衡。
为达上述目的,本发明第二方面实施例提出了另一种系统监控方法,应用于辅助节点,包括:向分配节点发送投票信息;接收所述分配节点发送的待监控的资源标识;对与所述待监控的资源标识对应的资源进行监控。
可选地,作为第二方面的第一种可能的实现方式,所述对与所述待监控的资源标识对应的资源进行监控之后,还包括:
向所述分配节点发送所述辅助节点当前的使用状态;
接收所述分配节点发送的调整指令,所述调整指令中包括目标资源标识;
根据所述目标资源标识,对当前监控的资源进行更新。
可选地,作为第二方面的第二种可能的实现方式,还包括:
在预设的时间段内,若确定未获取到所述分配节点发送的心跳消息,则向与所述辅助节点连接的各节点发送投票请求;
或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,其中,所述第一节点组中不包含所述第一节点;
或者,在获取到第二节点发送的连接请求,分别向第二节点组中各节点发送投票请求,其中,所述第二节点组中包含所述第二节点。
本发明实施例的系统监控方法,通过向分配节点发送投票信息,接收分配节点发送的待监控的资源标识,对与待监控的资源标识对应的资源进行监控。由此,实现了各个节点间的负载均衡,提高了监控系统的可用性和可靠性。
为达上述目的,本发明第三方面实施例提出了一种系统监控装置,应用于分配节点,包括:第一确定模块,用于在获取到各节点返回的投票信息时,确定自身为分配节点;第二确定模块,用于确定当前可用的各辅助节点的标识及待监控的资源;分配模块,用于将所述待监控的资源,平均分配给所述分配节点自身及所述当前可用的各辅助节点。
可选地,作为第三方面的第一种可能的实现方式,还包括:
第一发送模块,用于在获取到其它节点返回的投票信息之前,在预设的时间段内未收到再先分配节点发送的心跳消息时,向所述其它节点发送投票请求;或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,所述第一节点组中不包含所述第一节点;或者,在获取第二节点发送的连接请求时,分别向第二节点组中各节点发送投票请求,所述第二节点组中包含所述第二节点。
可选地,作为第三方面的第二种可能的实现方式,所述第二确定模块,具体用于:
根据所述分配节点自身与其它节点间的长连接状态,确定所述当前可用的各辅助节点的标识。
可选地,作为第三方面的第三种可能的实现方式,还包括:
获取模块,用于获取所述各辅助节点及所述分配节点自身当前的使用状态;
调整模块,用于在确定所述各辅助节点及所述分配节点自身当前的使用状态,满足调整阈值时,对所述各辅助节点及所述分配节点自身分别监控的资源进行调整。
可选地,作为第三方面的第四种可能的实现方式,所述调整模块,具体用于:
根据所述各辅助节点及所述分配节点自身当前的使用状态,确定初始调整步长;
以所述初始调整步长,调整所述各辅助节点及所述分配节点自身监控的资源;
获取调整后的各辅助节点及所述分配节点自身的新的使用状态;
在确定所述各辅助节点及所述分配节点自身的新的使用状态,满足调整阈值时,继续对所述各辅助节点及所述分配节点分别监控的资源进行调整,直至所述各辅助节点及所述分配节点自身的使用状态,不满足调整阈值。
可选地,作为第三方面的第五种可能的实现方式,节点的使用状态,包括:
所述节点当前是否可用、及所述节点中资源的使用率。
本发明实施例的系统监控装置,通过在获取到各节点返回的投票信息时,确定自身为分配节点,确定当前可用的各辅助节点的标识及待监控的资源,将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。由此,实现了能够根据当前可用的节点动态分配待监控的资源,提高了监控系统的可用性和可靠性,实现了各个节点间的负载均衡。
为达上述目的,本发明第四方面实施例提出了另一种系统监控装置,应用于辅助节点,包括:第二发送模块,用于向分配节点发送投票信息;第一接收模块,用于接收所述分配节点发送的待监控的资源标识;监控模块,用于对与所述待监控的资源标识对应的资源进行监控。
可选地,作为第四方面的第一种可能的实现方式,还包括:
第三发送模块,向所述分配节点发送所述辅助节点当前的使用状态;
第二接收模块,用于接收所述分配节点发送的调整指令,所述调整指令中包括目标资源标识;
更新模块,用于根据所述目标资源标识,对当前监控的资源进行更新。
可选地,作为第四方面的第二种可能的实现方式,还包括:
第四发送模块,用于在预设的时间段内,若确定未获取到所述分配节点发送的心跳消息,则向与所述辅助节点连接的各节点发送投票请求;或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,其中,所述第一节点组中不包含所述第一节点;或者,在获取到第二节点发送的连接请求,分别向第二节点组中各节点发送投票请求,其中,所述第二节点组中包含所述第二节点。
本发明实施例的系统监控装置,通过向分配节点发送投票信息,接收分配节点发送的待监控的资源标识,对与待监控的资源标识对应的资源进行监控。由此,实现了各个节点间的负载均衡,提高了监控系统的可用性和可靠性。
为达上述目的,本发明第五方面实施例提出了一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的系统监控方法,和/或第二方面实施例所述的系统监控方法。
为达上述目的,本发明第六方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如第一方面实施例所述的系统监控方法,和/或第二方面实施例所述的系统监控方法。
为达上述目的,本发明第七方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如第一方面实施例所述的系统监控方法,和/或第二方面实施例所述的系统监控方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为传统Application Manager分布式结构示意图;
图2为传统Zabbix分布式结构(Proxy模式)示意图;
图3为本发明实施例提供的一种系统监控方法的流程示意图;
图4为本发明实施例中一节点间的监控资源分配示意图;
图5为本发明实施例中另一节点间的监控资源分配示意图;
图6为本发明实施例提供的另一种系统监控方法的流程示意图;
图7为本发明实施例中又一节点间的监控资源分配示意图;
图8为本发明实施例提供的另一种系统监控方法的流程示意图;
图9为本发明实施例中调整后各节点的使用状态示意图;
图10为本发明实施例提供的另一种系统监控方法的流程示意图;
图11为本发明实施例提供的另一种系统监控方法的流程示意图;
图12为本发明实施例提供的另一种系统监控方法的流程示意图;
图13为本发明实施例提供的一种系统监控装置的结构示意图;
图14为本发明实施例提供的另一种系统监控装置的结构示意图;
图15为本发明实施例提供的另一种系统监控装置的结构示意图;
图16为本发明实施例提供的另一种系统监控装置的结构示意图;
图17为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
目前现有主流系统监控软件,例如Application Manager、Zabbix、Solawinds等,均采用主节点和代理节点的分布式部署方式,以解决大规模数据监控时,单节点性能不足的问题。
例如,参见图1,Application Manager分布式结构分为Admin Server(主节点)和Managed Server(代理节点),初始时,可以通过Admin Server将需要监控的资源分配给各个Managed Server,每个Managed Server只能监控分配给自己的资源,不能监控除了自身之外的Managed Server上的资源,且各个Managed Server监控的数据均保存在ManagedServer本地,Admin Server可以通过调用Managed Server提供的接口,统一查看各ManagedServer监控的资源。
参见图2,Zabbix分布式结构与Application Manager类似,也采用代理节点,不同的是,Zabbix具有两种模式:Proxy模式和Node模式。其中,Proxy(代理节点)负责收集数据,并将收集的数据发送至Zabbix Server(主节点),而本地不保留数据;Node(代理节点)在本地保存数据,并将自身监控到的数据发送至Zabbix Server。每个Proxy(或Node)只能监控分配给自己的资源,不能监控其他Proxy(或Node)上的资源。
这种方式下,代理节点存在单点问题,若代理节点宕机时,分配给此代理节点的资源就无法被有效监控,此时当此代理节点监控的资源出现问题时,将无法及时告警。
本申请各实施例中,主要针对现有技术中任意代理节点宕机时,由此代理节点监控的资源就无法被有效监控,此时若此代理节点监控的资源出现问题,将无法及时告警,监控系统的可靠性较差的问题,本发明实施例通过不区分主节点和代理节点,使每个节点等价,当单点宕机时,将宕机节点监控的资源分配至其他节点,从而使所有资源均能被有效监控,提高了监控系统的可靠性。
下面参考附图描述本发明实施例的系统监控方法及装置。在具体描述本发明实施例之前,为了便于理解,首先对常用技术词进行介绍:
jgroup,是一个开源的分布式通信框架,使用Raft协议。在Raft中,每个节点均可以处于以下三种状态中的一种:
follower:类似于选民,完全被动,所有节点均以follower的状态开始,如果没收到leader发送的心跳消息,则其会变为candidate状态;
candidate:候选者,可以被选为一个新的leader;
leader:处理所有节点间的交互、日志复制等,一般而言,一个通信系统里只有一个leader。
图3为本发明实施例提供的一种系统监控方法的流程示意图。
如图3所示,该系统监控方法,应用于分配节点,包括:
S301,在获取到各节点返回的投票信息时,确定自身为分配节点。
本发明实施例中,各节点间之间可以通过分布式消息通知框架jgroup进行通信,在所有节点启动完成时,即可通过jgroup选举出一个分配节点。
具体地,当分配节点向其他辅助节点发出选取自己为分配节点的投票请求时,辅助节点向分配节点发送投票信息,投票信息可以为同意其为分配节点,或者不同意其为分配节点,当同意其为分配节点的辅助节点的个数超过一半,则分配节点可以确定自身为分配节点。
需要说明的是,任何一个节点均可以成为候选者candidate,向其他节点follower发出选取自己为分配节点的投票请求。举例而言,当监控系统里有5个节点A、B、C、D、E时,节点A可以向节点B、C、D、E发送选取自己为分配节点的投票请求,如果选取节点A的节点的个数超过一半,即若节点B、C、D、E中,有3个节点选取节点A,则节点A可以确定自身为分配节点。
S302,确定当前可用的各辅助节点的标识及待监控的资源。
在本发明的实施例中,每个辅助节点的标识可以唯一标识该辅助节点,辅助节点的标识例如可以为辅助节点ID,或者可以为任意可区别于其它节点的字符等,对此不作限制。
由于节点的当前状态分为可用状态和宕机状态,当节点处于宕机状态时,节点不可用,无法继续监控资源;当节点的当前状态为可用状态时,此时该节点可以监控资源。
具体实现时,由于处于jgroup中的各节点间都建立有用于通信的链路,因此,分配节点可以根据其与其它各节点间的链路状态确定当前可用的各辅助节点的标识。
需要说明的是,链路可以分为长连接和短连接,长连接是指通信双方在本次数据发送完成后,也保持连接,下次可以直接用该连接传输数据而不需要重新建立连接;短连接是指通信双方每次有数据交互时,就建立一次连接,本次数据发送完成后,则断开此连接,当下次再有数据交互时重新建立连接和数据交互。优选地,本实施例中,各节点之间的链路为长连接。
待监控的资源为本监控系统需要监控的资源,分配节点可以通过查询该监控系统的数据库,以确定该监控系统要监控的资源。
S303,将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。
在确定当前可用的各辅助节点的标识后,可以根据各辅助节点的标识将待监控的资源,平均分配给每个可用的节点,即平均分配给分配节点自身及当前可用的各辅助节点。
作为一种示例,参见图4,当所有的节点均可用,且节点1确定自身为分配节点时,可以将待监控的资源平均分配至节点1、2以及3,即每个节点需监控的资源为待监控资源的三分之一。
作为另一种示例,参见图5,当节点1宕机时,需重新选取的分配节点为节点3,则节点3可以将待监控的资源平均分配至节点2和3,即可用节点2或3需监控的资源为待监控资源的二分之一。
本发明实施例中的每个节点等价,在个别节点宕机时,重新选取的分配节点可以将待监控的资源平均分配至其他节点,提高了监控系统的可用性和可靠性,且根据当前可用的节点,分配待监控的资源,使得各个节点的负载较均衡。
本实施例的系统监控方法,通过在获取到各节点返回的投票信息时,确定自身为分配节点,确定当前可用的各辅助节点的标识及待监控的资源,将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。由此,实现了能够根据当前可用的节点动态分配待监控的资源,提高了监控系统的可用性和可靠性,实现了各个节点间的负载均衡。
通过上述分析可知,监控系统中各节点均可以通过向其它节点发起投票请求,以将自己选取为分配节点,进而将要监控的资源平均分配给当前可用的各个节点。下面结合图6,对本申请实施例中,分配节点的重新选取过程进行详细说明。
图6为本发明实施例所提供的另一种系统监控方法的流程示意图。
参见图6,该系统监控方法包括以下步骤:
S601,在预设的时间段内未收到再先分配节点发送的心跳消息时,向其它节点发送投票请求。
在本发明的实施例中,预设的时间段可以根据待监控资源的属性设置,比如若待监控的资源为网络设备,由于网络设备故障时,会影响用户的正常使用,那么预设的时间段可以设置的较短;而若待监控的资源为存储设备,那么预设的时间段可以设置的较长等,本实施例对此不做限定。
可以理解的是,在分配节点在预设的时间段内,未收到再先分配节点发送的心跳消息时,表明再先分配节点宕机,此时,分配节点则可以通过向其它节点发送投票请求,以选举自身为新的分配节点。
例如,参见图5,再先分配节点为节点1,在预设的时间段内,节点2和节点3未收到节点1发送的心跳消息时,表明节点1宕机,此时,节点3可以向节点2发送投票请求,若节点2返回的投票信息为同意其为分配节点,则可以选取节点3为分配节点。
在本实施例另一种可能的实现形式中,jgroup中的任一节点,也可以在以下情况下,发起重新选取分配节点的流程:
在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,第一节点组中不包含第一节点。
其中,第一节组指与分配节点及第一节点位于同一jgroup中的其它各节点。
具体的,若与任一节点确定其与第一节点间的链路出现了断路,则可以确定第一节点出现了异常,此时即可向除第一节点外的其它节点发送投票请求。
作为一种示例,监控系统里有5个节点A、B、C、D、E,当节点B确定与节点A间的链路故障时,则可以向第一节点组中各节点C、D以及E发送选取自己为分配节点的投票请求,当然节点B可以投给自己一票,如果选取节点B的节点的个数超过一半,即若节点C、D、E中,有2个节点选取节点B,则节点B可以确定自身为分配节点。
或者,在本实施例另一种可能的实现形式中,当jgroup中有新的节点加入时,任一节点也可以发起重新选取分配节点的流程:
在获取第二节点发送的连接请求时,分别向第二节点组中各节点发送投票请求,第二节点组中包含第二节点。
其中,第二节点,是指宕机后恢复的节点,或者指新接入的节点。
具体的,当第二节点加入jgroup中时,会向各个节点发送连接请求,以与各个节点建立通信连接,此时,收到第二节点发送的连接请求的任一节点,即可发起投票请求。
例如,参见图7,监控系统中原来的节点为节点1和节点2,且节点2为分配节点。当节点3加入该监控系统时,可以向节点1和2发送连接请求,节点1在收到了连接请求后,分别向节点2和节点3发送了投票请求,且节点1也投给自己一票,若节点2和3中返回的投票信息为同意其为分配节点,则节点1即为新的分配节点。
S602,在获取到各节点返回的投票信息时,确定自身为分配节点。
S603,根据分配节点自身与其它节点间的长连接状态,确定当前可用的各辅助节点的标识。
S604,确定待监控的资源。
S605,将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。
关于步骤S602~S605的介绍可参见上述实施例中相关内容的记载,此处不再赘述。
S606,获取各辅助节点及分配节点自身当前的使用状态。
在本发明的实施例中,节点的使用状态包括:节点当前是否可用、及节点中资源的使用率。
其中,节点当前是否可用,即指节点当前所处的状态为宕机状态还是可用状态。节点中资源的使用率包括CPU使用率、内存使用率等,本发明实施例以节点中的使用率为CPU使用率示例。
由于监控系统需要启用多线程监控资源,消耗较多CPU使用率,当线程积压过多时,会影响监控系统的采集效率。因此,分配节点可以实时获取各辅助节点及自身当前的使用状态,以确定监控系统当前的运行状态。
可选地,各辅助节点可以每隔预设时间(例如为5分钟)将自身的CPU使用率发送给分配节点,分配节点接收各辅助节点发送的CPU使用率,并统计自身的CPU使用率,即可获取各辅助节点及分配节点自身当前的使用状态。
S607,在确定各辅助节点及分配节点自身当前的使用状态,满足调整阈值时,对各辅助节点及分配节点自身分别监控的资源进行调整。
具体的,为了提高监控系统的可靠性,分配节点可以根据各辅助节点及分配节点自身当前的使用状态,减少CPU使用率高的节点监控资源的个数,使其并发线程数较少,从而有效减少该节点的CPU使用率,提高该节点的可靠性和安全性。
其中,调整阈值为预先设置的,调整阈值的个数可以为一个也可以为多个,相应的,根据调整阈值,对各个节点监控的资源进行调整的方式,也可以有多种,对此不做限制。
例如,当调整阈值为一个,且调整阈值为80%时,可以统计各辅助节点及分配节点自身当前的CPU使用率,如果所有节点的CPU使用率均高于80%,表明所有节点的负载均很高,此时可以不做任何处理;否则,表明监控系统中有节点的负载不高,此时,可以将负载较高的节点监控的资源分配给负载较低的节点,实现动态分配资源。
又例如,当调整阈值为一个,且调整阈值为60%时,可以统计各辅助节点及分配节点自身当前的CPU使用率,如果所有节点的CPU使用率均低于60%,表明所有节点的负载均不高,此时可以不做任何处理;否则,表明监控系统中有节点的负载较高,此时,可以将负载较高的节点监控的资源分配给负载较低的节点,实现动态分配资源。
再例如,当调整阈值的个数为多个时,例如为80%和60%,可以统计各辅助节点及分配节点自身中CPU使用率超过80%的节点的个数,标记为M,统计各辅助节点及分配节点自身中CPU使用率低于60%的节点的个数,标记为N,当N为0时,表明监控系统中所有节点的CPU使用率均很高,此时可以不作任何处理;当M和N均小于节点总数量、并均不为0时,表明监控系统中有节点的负载较低,此时,可以将负载较高的节点监控的资源分配给负载较低的节点。
本实施例的系统监控方法,通过在预设的时间段内未收到再先分配节点发送的心跳消息时,向其它节点发送投票请求,能够在分配节点异常时,及时告警,提高监控系统的可靠性。通过在获取到各节点返回的投票信息时,确定自身为分配节点,根据分配节点自身与其它节点间的长连接状态,确定当前可用的各辅助节点的标识,确定待监控的资源,将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点,能够根据当前可用的节点动态分配待监控的资源,提高了监控系统的可用性和可靠性,实现了各个节点间的负载均衡。通过获取各辅助节点及分配节点自身当前的使用状态,在确定各辅助节点及分配节点自身当前的使用状态,满足调整阈值时,对各辅助节点及分配节点自身分别监控的资源进行调整,能够提高监控系统的可靠性,提高各个节点间负载的均衡性。
通过上述分析可知,分配节点可以根据各个节点当前的使用状态,调整节点分别监控的资源。具体实现时,为了提高各个节点间负载的均衡性,分配节点可以根据各个节点间的使用状态,逐步调整各个节点监控的资源。参见图8,对各辅助节点及分配节点自身分别监控的资源进行调整,具体包括以下步骤:
S801,根据各辅助节点及分配节点自身当前的使用状态,确定初始调整步长。
例如,当调整阈值的个数为多个时,例如为80%和60%,可以统计各辅助节点及分配节点自身中CPU使用率超过80%的节点的个数,标记为M,统计各辅助节点及分配节点自身中CPU使用率低于60%的节点的个数,标记为N。
当N不为0时,调整步长例如可以为
Figure GDA0002436481150000111
S802,以初始调整步长,调整各辅助节点及分配节点自身监控的资源。
作为本发明实施例的一种可能实现的方式,当调整步长为
Figure GDA0002436481150000112
时,可以将M个CPU使用率超过80%的节点中的每个节点减少
Figure GDA0002436481150000113
个监控资源,而后,分配节点将总共减少的
Figure GDA0002436481150000114
个监控资源平均分配给N个CPU使用率低于60%的节点,则每个CPU使用率低于60%的节点分配的资源个数为
Figure GDA0002436481150000115
Figure GDA0002436481150000116
不是整数,则N个CPU使用率低于60%的节点中,CPU使用率低的节点比CPU使用率高的节点多分配一个资源,以尽量提高负载低的节点的CPU使用率。
S803,获取调整后的各辅助节点及分配节点自身的新的使用状态。
S804,在确定各辅助节点及分配节点自身的新的使用状态,满足调整阈值时,继续对各辅助节点及分配节点分别监控的资源进行调整,直至各辅助节点及分配节点自身的使用状态,不满足调整阈值。
可以理解的是,在调整后,各辅助节点及分配节点自身的使用状态改变了,例如,参见图9,当调整阈值为60%时,节点2的负载较高,对节点1、2以及3分别监控的资源进行调整后,节点2的CPU使用率仍然高于调整阈值,此时可以继续对节点1、2以及3分别监控的资源进行调整,直至节点1、2以及3的CPU使用率均不高于60%为止,能够有效较少负载高的节点的CPU使用率。
本实施例的系统监控方法,通过根据各辅助节点及分配节点自身当前的使用状态,确定初始调整步长,以初始调整步长,调整各辅助节点及分配节点自身监控的资源,能够根据每个节点的使用状态,动态分配资源,有效减少单点高负载。由此,通过实时根据各个节点的使用状态,对各个节点监控的资源进行动态调整,直至各节点负载较均衡,从而有效提高了各个节点的可靠性和安全性,提高了监控系统的可靠性。
图10为本发明实施例提供的另一种系统监控方法的流程示意图。
如图10所示,该系统监控方法,应用于辅助节点,包括:
S1001,向分配节点发送投票信息。
可选地,当分配节点向其他辅助节点发出选取自己为分配节点的投票请求时,辅助节点向分配节点发送投票信息,其中,投票信息可以为同意其为分配节点,或者不同意其为分配节点。
S1002,接收分配节点发送的待监控的资源标识。
本实施例中,待监控的资源标识可以唯一标识该待监控的资源,待监控的资源标识例如可以为待监控的资源IP,或者可以为任意可区别于其他资源的字符等,对此不作限制。
当确定分配节点后,分配节点将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。具体地,各辅助节点接收到的为待监控资源标识,以根据待监控的资源标识,对与待监控的资源标识对应的资源进行监控。
S1003,对与待监控的资源标识对应的资源进行监控。
辅助节点在接收分配节点发送的待监控资源标识后,对与待监控的资源标识对应的资源进行监控。
本实施例的系统监控方法,通过向分配节点发送投票信息,接收分配节点发送的待监控的资源标识,对与待监控的资源标识对应的资源进行监控。由此,实现了各个节点间的负载均衡,提高了监控系统的可用性和可靠性。
为了进一步提高监控系统的可靠性,且进一步均衡各节点间的负载,参见图11,在图10的基础上,该系统监控方法还可以包括:
S1101,向分配节点发送辅助节点当前的使用状态。
各辅助节点可以向分配节点发送自身当前的使用状态,包括自身当前是否可用以及资源的使用率,以使分配节点根据各辅助节点当前的使用状态及自身当前的使用状态,动态分配资源。
S1102,接收分配节点发送的调整指令,调整指令中包括目标资源标识。
本实施例中目标资源标识可以唯一标识该目标资源,目标资源标识例如可以为目标资源IP,或者为其他,对此不作限制。
辅助节点接收分配节点发送的调整指令,以根据调整指令调整当前监控的资源。
例如,当辅助节点CPU使用率较高时,调整指令中可以包含该辅助节点需要减少的监控的资源的标识,而后,该辅助节点可以根据需要减少的监控的资源的标识对当前监控的资源进行更新,能够有效减少节点的CPU使用率,有效减少单点高负载。
又例如,当辅助节点CPU使用率较低时,调整指令中可以包含该辅助节点需要增加的监控的资源的标识,而后,该辅助节点可以根据需要增加的监控的资源的标识对当前监控的资源进行更新,能够根据每个节点的使用状态,动态分配资源。
S1103,根据目标资源标识,对当前监控的资源进行更新。
本实施例的系统监控方法,通过向分配节点发送辅助节点当前的使用状态,接收分配节点发送的调整指令,调整指令中包括目标资源标识,根据目标资源标识,对当前监控的资源进行更新,能够进一步提高监控系统的可靠性,且进一步均衡各节点间的负载。
需要说明的是,监控系统中各节点均可以通过向其它节点发起投票请求,以将自己选取为分配节点,进而将要监控的资源平均分配给当前可用的各个节点。下面结合图12,对本申请实施例中,分配节点的重新选取过程进行详细说明。
图12为本发明实施例所提供的另一种系统监控方法的流程示意图。
参见图12,该系统监控方法包括以下步骤:
S1201,在预设的时间段内,若确定未获取到分配节点发送的心跳消息,则向与辅助节点连接的各节点发送投票请求。
在本发明的实施例中,预设的时间段可以根据待监控资源的属性设置,比如若待监控的资源为网络设备,由于网络设备故障时,会影响用户的正常使用,那么预设的时间段可以设置的较短;而若待监控的资源为存储设备,那么预设的时间段可以设置的较长等,本实施例对此不做限定。
可以理解的是,在辅助节点在预设的时间段内,未获取到分配节点发送的心跳消息时,表明分配节点宕机,此时,辅助节点则可以通过向与该辅助节点连接的各节点发送投票请求,以选举自身为新的分配节点。
例如,参见图5,分配节点为节点1,在预设的时间段内,节点2和节点3未收到节点1发送的心跳消息时,表明节点1宕机,此时,辅助节点3可以向节点2发送投票请求,若节点2返回的投票信息为同意其为分配节点,则可以选取节点3为分配节点。
S1202,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,其中,第一节点组中不包含第一节点。
其中,第一节组指与辅助节点及第一节点位于同一jgroup中的其它各节点。
具体的,若与任一节点确定其与第一节点间的链路出现了断路,则可以确定第一节点出现了异常,此时即可向除第一节点外的其它节点发送投票请求。
作为一种示例,监控系统里有5个节点A、B、C、D、E,当节点C确定与节点A间的链路故障时,则可以向第一节点组中各节点B、D以及E发送选取自己为分配节点的投票请求,当然节点C可以投给自己一票。如果选取节点C的节点的个数超过一半,即若节点B、D、E中,有2个节点选取节点C,则节点C可以确定自身为分配节点。
S1203,在获取到第二节点发送的连接请求,分别向第二节点组中各节点发送投票请求,其中,第二节点组中包含第二节点。
其中,第二节点,是指宕机后恢复的节点,或者指新接入的节点。
具体的,当第二节点加入jgroup中时,会向各个节点发送连接请求,以与各个节点建立通信连接,此时,收到第二节点发送的连接请求的任一节点,即可发起投票请求。
例如,参见图7,监控系统中原来的节点为节点1和节点2,且节点2为分配节点。当节点3加入该监控系统时,可以向节点1和2发送连接请求,节点1在收到了连接请求后,分别向节点2和节点3发送了投票请求,且辅助节点1也投给自己一票,若节点2和3中返回的投票信息为同意其为分配节点,则节点1即为新的分配节点。
需要说明的是,图12中步骤S1201、S1202以及S1203之间是并列的关系,需并行执行。
本实施例的系统监控方法,通过在预设的时间段内,若确定未获取到分配节点发送的心跳消息,则向与辅助节点连接的各节点发送投票请求,或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,其中,第一节点组中不包含第一节点,或者,在获取到第二节点发送的连接请求,分别向第二节点组中各节点发送投票请求,其中,第二节点组中包含第二节点,能够提高监控系统的可用性和可靠性。
图13为本发明实施例提供的一种系统监控装置的结构示意图。该系统监控装置1300可以通过软件、硬件或者两者的结合实现。
如图13所示,该系统监控装置1300,应用于分配节点,包括:第一确定模块1301、第二确定模块1302,以及分配模块1303。其中,
第一确定模块1301,用于在获取到各节点返回的投票信息时,确定自身为分配节点。
第二确定模块1302,用于确定当前可用的各辅助节点的标识及待监控的资源。
具体实现时,第二确定模块用于:根据分配节点自身与其它节点间的长连接状态,确定当前可用的各辅助节点的标识。
分配模块1303,用于将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。
进一步地,在本发明实施例的一种可能的实现方式中,在图13的基础上,参见图14,该系统监控装置1300还进一步包括:
第一发送模块1304,用于在获取到其它节点返回的投票信息之前,在预设的时间段内未收到再先分配节点发送的心跳消息时,向其它节点发送投票请求;或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,第一节点组中不包含第一节点;或者,在获取第二节点发送的连接请求时,分别向第二节点组中各节点发送投票请求,第二节点组中包含第二节点。
获取模块1305,用于获取各辅助节点及分配节点自身当前的使用状态。
调整模块1306,用于在确定各辅助节点及分配节点自身当前的使用状态,满足调整阈值时,对各辅助节点及分配节点自身分别监控的资源进行调整。
作为本发明实施例的一种可能的实现方式,调整模块,具体用于:根据各辅助节点及分配节点自身当前的使用状态,确定初始调整步长;以初始调整步长,调整各辅助节点及分配节点自身监控的资源;获取调整后的各辅助节点及分配节点自身的新的使用状态;在确定各辅助节点及分配节点自身的新的使用状态,满足调整阈值时,继续对各辅助节点及分配节点分别监控的资源进行调整,直至各辅助节点及分配节点自身的使用状态,不满足调整阈值。
作为本发明实施例的一种可能的实现方式,节点的使用状态,包括:节点当前是否可用、及节点中资源的使用率。
需要说明的是,前述图1-图9实施例对系统监控方法实施例的解释说明也适用于该实施例的系统监控装置1300,此处不再赘述。
本实施例的系统监控装置,通过在获取到各节点返回的投票信息时,确定自身为分配节点,确定当前可用的各辅助节点的标识及待监控的资源,将待监控的资源,平均分配给分配节点自身及当前可用的各辅助节点。由此,实现了能够根据当前可用的节点动态分配待监控的资源,提高了监控系统的可用性和可靠性,实现了各个节点间的负载均衡。
图15为本发明实施例提供的另一种系统监控装置的结构示意图。该系统监控装置1500可以通过软件、硬件或者两者的结合实现。
如图15所示,该系统监控装置1500,应用于辅助节点,包括:第二发送模块1501、第一接收模块1502,以及监控模块1503。其中,
第二发送模块1501,用于向分配节点发送投票信息。
第一接收模块1502,用于接收所述分配节点发送的待监控的资源标识。
监控模块1503,用于对与所述待监控的资源标识对应的资源进行监控。
进一步地,在本发明实施例的一种可能的实现方式中,在图15的基础上,参见图16,该系统监控装置1500还进一步包括:
第三发送模块1504,向所述分配节点发送所述辅助节点当前的使用状态。
第二接收模块1505,用于接收所述分配节点发送的调整指令,所述调整指令中包括目标资源标识。
更新模块1506,用于根据所述目标资源标识,对当前监控的资源进行更新。
第四发送模块1507,用于在预设的时间段内,若确定未获取到所述分配节点发送的心跳消息,则向与所述辅助节点连接的各节点发送投票请求;或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,其中,所述第一节点组中不包含所述第一节点;或者,在获取到第二节点发送的连接请求,分别向第二节点组中各节点发送投票请求,其中,所述第二节点组中包含所述第二节点。
需要说明的是,前述图9-图12实施例对系统监控方法实施例的解释说明也适用于该实施例的系统监控装置1500,此处不再赘述。
本实施例的系统监控装置,通过向分配节点发送投票信息,接收分配节点发送的待监控的资源标识,对与待监控的资源标识对应的资源进行监控。由此,实现了各个节点间的负载均衡,提高了监控系统的可用性和可靠性。
为了实现上述实施例,本发明还提出一种计算机设备,包括:存储器和处理器,其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如前述实施例所述的系统监控方法。
为了清楚说明前述计算机设备的具体结构,图17示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图17显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图17所示,计算机设备12以通用计算机设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,简称ISA)总线,微通道体系结构(Micro Channel Architecture,简称MAC)总线,增强型ISA总线、视频电子标准(Vedio Electronic Standard Association,简称VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,简称PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,简称RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网,广域网和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、独立磁盘冗余阵列(RedundantArray of Independent Disks,简称RAID)系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,实现上述系统监控方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如前述实施例所述的系统监控方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时能够实现如前述实施例所述的系统监控方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种系统监控方法,应用于分配节点,其特征在于,包括:
在获取到各节点返回的投票信息时,确定自身为分配节点;
确定当前可用的各辅助节点的标识及待监控的资源;
将所述待监控的资源,平均分配给所述分配节点自身及所述当前可用的各辅助节点;
获取所述各辅助节点及所述分配节点自身当前的使用状态;
在确定所述各辅助节点及所述分配节点自身当前的使用状态,满足调整阈值时,对所述各辅助节点及所述分配节点自身分别监控的资源进行调整;
所述调整阈值为多个,且各辅助节点及分配节点自身的资源使用量超过第一阈值的数量为M个、小于第二阈值的数量为N个、且M和N均小于节点总数量、并均不为0时,则对各辅助节点及分配节点自身分别监控的资源进行调整,其中,第一阈值大于第二阈值。
2.如权利要求1所述的系统监控方法,其特征在于,所述获取到其它节点返回的投票信息之前,还包括:
在预设的时间段内未收到再先分配节点发送的心跳消息时,向所述其它节点发送投票请求;
或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,所述第一节点组中不包含所述第一节点;
或者,在获取第二节点发送的连接请求时,分别向第二节点组中各节点发送投票请求,所述第二节点组中包含所述第二节点。
3.如权利要求1所述的系统监控方法,其特征在于,所述确定当前可用的各辅助节点的标识,包括:
根据所述分配节点自身与其它节点间的长连接状态,确定所述当前可用的各辅助节点的标识。
4.如权利要求1所述的系统监控方法,其特征在于,所述对所述各辅助节点及所述分配节点自身分别监控的资源进行调整,包括:
根据所述各辅助节点及所述分配节点自身当前的使用状态,确定初始调整步长;
以所述初始调整步长,调整所述各辅助节点及所述分配节点自身监控的资源;
获取调整后的各辅助节点及所述分配节点自身的新的使用状态;
在确定所述各辅助节点及所述分配节点自身的新的使用状态,满足调整阈值时,继续对所述各辅助节点及所述分配节点分别监控的资源进行调整,直至所述各辅助节点及所述分配节点自身的使用状态,不满足调整阈值。
5.如权利要求1或4所述的系统监控方法,其特征在于,节点的使用状态,包括:
所述节点当前是否可用、及所述节点中资源的使用率。
6.一种系统监控方法,应用于辅助节点,其特征在于,包括:
向分配节点发送投票信息;
接收所述分配节点发送的待监控的资源标识,其中,所述待监控的资源标识为分配节点在各辅助节点及分配节点自身当前的使用状态,满足调整阈值时,对所述各辅助节点及所述分配节点自身分别监控的资源进行调整后确定的;所述调整阈值为多个,且各辅助节点及分配节点自身的资源使用量超过第一阈值的数量为M个、小于第二阈值的数量为N个、且M和N均小于节点总数量、并均不为0时,则对各辅助节点及分配节点自身分别监控的资源进行调整;
对与所述待监控的资源标识对应的资源进行监控。
7.如权利要求6所述的系统监控方法,其特征在于,所述对与所述待监控的资源标识对应的资源进行监控之后,还包括:
向所述分配节点发送所述辅助节点当前的使用状态;
接收所述分配节点发送的调整指令,所述调整指令中包括目标资源标识;
根据所述目标资源标识,对当前监控的资源进行更新。
8.如权利要求6所述的系统监控方法,其特征在于,还包括:
在预设的时间段内,若确定未获取到所述分配节点发送的心跳消息,则向与所述辅助节点连接的各节点发送投票请求;
或者,在确定第一节点异常时,分别向第一节点组中各节点发送投票请求,其中,所述第一节点组中不包含所述第一节点;
或者,在获取到第二节点发送的连接请求,分别向第二节点组中各节点发送投票请求,其中,所述第二节点组中包含所述第二节点。
9.一种系统监控装置,应用于分配节点,其特征在于,包括:
第一确定模块,用于在获取到各节点返回的投票信息时,确定自身为分配节点;
第二确定模块,用于确定当前可用的各辅助节点的标识及待监控的资源;
分配模块,用于将所述待监控的资源,平均分配给所述分配节点自身及所述当前可用的各辅助节点;
还包括:获取模块,用于获取各辅助节点及分配节点自身当前的使用状态;
调整模块,用于在确定各辅助节点及分配节点自身当前的使用状态,满足调整阈值时,对各辅助节点及分配节点自身分别监控的资源进行调整;
所述调整模块,具体用于所述调整阈值为多个,且各辅助节点及分配节点自身的资源使用量超过第一阈值的数量为M个、小于第二阈值的数量为N个、且M和N均小于节点总数量、并均不为0时,则对各辅助节点及分配节点自身分别监控的资源进行调整,其中,第一阈值大于第二阈值。
10.一种系统监控装置,应用于辅助节点,其特征在于,包括:
第二发送模块,用于向分配节点发送投票信息;
第一接收模块,用于接收所述分配节点发送的待监控的资源标识,其中,所述待监控的资源标识为分配节点在各辅助节点及分配节点自身当前的使用状态,满足调整阈值时,对所述各辅助节点及所述分配节点自身分别监控的资源进行调整后确定的;所述调整阈值为多个,且各辅助节点及分配节点自身的资源使用量超过第一阈值的数量为M个、小于第二阈值的数量为N个、且M和N均小于节点总数量、并均不为0时,则对各辅助节点及分配节点自身分别监控的资源进行调整;
监控模块,用于对与所述待监控的资源标识对应的资源进行监控。
11.一种计算机设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-8中任一所述的系统监控方法。
12.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8中任一项所述的系统监控方法。
CN201710643858.3A 2017-07-31 2017-07-31 系统监控方法及装置 Active CN107395458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710643858.3A CN107395458B (zh) 2017-07-31 2017-07-31 系统监控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710643858.3A CN107395458B (zh) 2017-07-31 2017-07-31 系统监控方法及装置

Publications (2)

Publication Number Publication Date
CN107395458A CN107395458A (zh) 2017-11-24
CN107395458B true CN107395458B (zh) 2020-05-22

Family

ID=60344256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710643858.3A Active CN107395458B (zh) 2017-07-31 2017-07-31 系统监控方法及装置

Country Status (1)

Country Link
CN (1) CN107395458B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557679B (zh) * 2018-06-01 2021-11-19 中国移动通信有限公司研究院 一种视频内容识别方法、设备、介质和系统
CN109067621A (zh) * 2018-09-28 2018-12-21 郑州云海信息技术有限公司 设备监控方法、装置及系统
CN109861922B (zh) * 2019-02-21 2022-03-29 北京百度网讯科技有限公司 用于控制流量的方法和装置
CN110287033A (zh) * 2019-07-03 2019-09-27 网易(杭州)网络有限公司 批量任务处理方法、装置、系统、设备和可读存储介质
CN111556343A (zh) * 2020-03-30 2020-08-18 重庆厚齐科技有限公司 一种共享智能节点的视频传输系统
CN113553171A (zh) * 2021-06-07 2021-10-26 用友汽车信息科技(上海)股份有限公司 负载均衡控制方法、装置和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001667B1 (en) * 2011-03-31 2015-04-07 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
CN104539479A (zh) * 2014-12-16 2015-04-22 北京中交兴路车联网科技有限公司 一种分布式服务监控系统及方法
CN104734914A (zh) * 2015-02-27 2015-06-24 百度在线网络技术(北京)有限公司 一种用于网络监控的方法、设备与系统
CN105812159A (zh) * 2014-12-30 2016-07-27 中国科学院深圳先进技术研究院 一种云平台监控报警方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001667B1 (en) * 2011-03-31 2015-04-07 Amazon Technologies, Inc. Monitoring and detecting causes of failures of network paths
CN104539479A (zh) * 2014-12-16 2015-04-22 北京中交兴路车联网科技有限公司 一种分布式服务监控系统及方法
CN105812159A (zh) * 2014-12-30 2016-07-27 中国科学院深圳先进技术研究院 一种云平台监控报警方法
CN104734914A (zh) * 2015-02-27 2015-06-24 百度在线网络技术(北京)有限公司 一种用于网络监控的方法、设备与系统

Also Published As

Publication number Publication date
CN107395458A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN107395458B (zh) 系统监控方法及装置
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
US20140108681A1 (en) System and method for providing a flexible buffer management interface in a distributed data grid
CN107453929B (zh) 集群系统自构建方法、装置及集群系统
US7778275B2 (en) Method for dynamically allocating network adapters to communication channels for a multi-partition computer system
US8589538B2 (en) Storage workload balancing
US8065560B1 (en) Method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter
CN112671928B (zh) 设备集中管理架构、负载均衡方法、电子设备及存储介质
CN111694515A (zh) 一种基于ZNS固态硬盘的zone写分发方法及系统
CN110244901B (zh) 任务分配方法及装置、分布式存储系统
US8356098B2 (en) Dynamic management of workloads in clusters
CN105357258A (zh) 一种加速管理节点、加速节点、客户端及方法
US9148454B1 (en) System and method for supporting video processing load balancing for user account management in a computing environment
US20120233313A1 (en) Shared scaling server system
CN112468310B (zh) 流媒体集群节点管理方法、装置及存储介质
CN108989106A (zh) 一种分布式集群的数据处理方法、装置及系统
CN112416594A (zh) 一种微服务分配方法、电子设备和计算机存储介质
CN114553900B (zh) 一种分布式块存储管理系统、方法及电子设备
CN109474694A (zh) 一种基于san存储阵列的nas集群的管控方法及装置
CN112631756A (zh) 一种应用于航天测控软件的分布式调控方法及装置
CN106021026B (zh) 一种备份方法及装置
CN115378962B (zh) 一种基于iSCSI协议的存储集群的高可用性连通方法和系统
US9575865B2 (en) Information processing system and monitoring method
KR101883671B1 (ko) 노드 분산 방법 및 이를 수행하는 관리 서버
WO2020161788A1 (ja) 情報処理装置、情報処理システム、プログラム及び情報処理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant