CN111367202A - 监控节点、系统和方法 - Google Patents
监控节点、系统和方法 Download PDFInfo
- Publication number
- CN111367202A CN111367202A CN201811597256.XA CN201811597256A CN111367202A CN 111367202 A CN111367202 A CN 111367202A CN 201811597256 A CN201811597256 A CN 201811597256A CN 111367202 A CN111367202 A CN 111367202A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- instances
- node
- monitoring node
- cluster
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 542
- 238000000034 method Methods 0.000 title claims description 27
- 230000008859 change Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24024—Safety, surveillance
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
Abstract
监控实例的方案,监控集群包括多个监控节点,每个监控节点对实例进行监控,包括:在第一监控节点上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例,当存在尚未完成监控加载的实例,进行如下操作:所述第一监控节点等待所述第一实例集中的所有实例监控加载完成之后,从所述第一实例集中接管一部分实例进行监控加载。
Description
技术领域
本发明有关于计算机领域,特别有关于云计算领域的运维管理。
背景技术
在计算机领域,用监控节点对业务服务器上的虚拟机进行监控。在传统的监控运维系统,业务服务器可以有多个,但是监控节点往往是单节点部署,也就是说监控节点的数量只有一个。此种做法虽然部署简单,处理的逻辑容易,但是如果这个监控节点出现故障,就会导致整个监控失效。
在云计算领域中,由于业务服务器数量庞大,对于监控节点来说,需要监控数以万级的实例,面对如此众多的实例,单个监控节点的性能难以满足。此外,单个监控节点也难以提供高的可靠性。因此在云计算领域,监控节点都是多节点式的冗余部署,形成多监控节点组成的监控集群。这些监控节点通过注册中心互相感知对方,并按照分配算法(比如一致性哈希)各自监控不同的业务节点。当某个监控节点发生故障或者其他原因下线后,注册中心通知其他未发送故障的监控节点(为了方便描述,把这样的节点监控称为接管监控节点)接管原本由故障节点监控的实例。当监控中心检测到原监控节点重新上线后,监控中心通知原监控节点重新监控被接管监控节点所接管的实例。
然而,接管监控节点对故障监控节点的实例进行接管需要花费一定的时间。在接管期间如果故障节点恢复正常,那么重新上线的故障节点会开始重新监控自己原有的实例,这也需要花费一定的时间。为了避免某些实例既没有被接管监控节点监控、又没有被恢复正常的故障节点监控的情况发生,在接管监控节点完成接管之前,即使故障节点重新上线,也不允许接管监控节点半途终止接管过程。不幸的是,此种做法这又会导致另外一个问题,那就是同一个实例被多个监控节点重复监控的情况:有一部分实例既被接管监控节点监控、又被恢复正常的故障节点(原监控节点)监控。这种情况除了会导致监控资源的浪费;还会引起指令的冲突,例如:两个监控节点都对同一个实例发出修复指令。因此,如何避免由于监控节点之间的接管而导致同一个实例被多个监控节点重复监控,是业界需要解决的问题。
发明内容
第一方面,本发明提供一种监控实例的方法的实施例,监控集群包括多个监控节点,每个监控节点对实例进行监控,方法包括:在第一监控节点上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例,当存在尚未完成监控加载的实例,进行如下操作:当所述第一实例集中的所有实例监控加载没有加载完成,则进行等待,等待期间不执行新的监控加载,直到当所述第一实例集中的所有实例监控加载完成之后,再从所述第一实例集中接管一部分实例进行监控加载(也就是执行新的监控加载)。
应用该方法,可以阻止两次分配的监控加载冲突,避免了同一个实例被多个监控节点监控的情况发生。
第一方面的第一种可能实现方式,所述第一实例集中的实例包括所述监控集群所监控的所有实例,其中:在判断所述第一实例集中是否存在未加载完成的实例之前,还包括:第二监控节点对所述第一实例集中的部分实例进行监控,所述第二监控节点所监控的实例数量少于所述第一实例集中实例数量;所述第二监控节点下线后,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点;所述处于在线状态的监控节点对分配的实例进行加载。
该方案解释了为什么第一实例集中会存在未加载完成的实例。
第一方面的第二种可能实现方式,在判断所述第一实例集中是否存在未加载完成的实例之前,还包括:第二监控节点对所述第一实例集中的实例进行监控,所述第一实例集中的实例数量少于所述监控集群所监控的实例的总数;所述第二监控节点下线后,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点;所述处于在线状态的监控节点对分配的实例进行加载。
该方案解释了为什么第一实例集中会存在未加载完成的实例。和第一种可能的实现方式相比,对第一实例集的定义不同:在第一方面,第一实例集是监控集群所监控的所有实例;在第二方面,第一实例集是第二监控节点下线前所监控的实例。
第一方面的第三种可能的实现方式是基于第一方面的第一、第二种可能的实现方式,其中,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点,具体包括:将所述第二监控节点下线前所监控的实例分配给所述第一监控节点进行监控。
第一方面的第四种可能的实现方式是基于第一方面的第一、第二、第三种可能的实现方式,具体包括:第二监控节点下线后,所述第一实例集进入锁定状态,直至所述处于在线状态的监控节点对分配的实例进行加载完成后解除所述锁定状态。
该方案介绍了一种具体实现,通过锁定状态避免重复加载。
第一方面的第四种可能的实现方式是基于第一方面的第四种可能的实现方式,具体介绍了:所述监控集群和动物园管理者zookeeper通信,其中,所述第一实例集进入锁定状态,具体包括:在zookeeper中写入锁定记录,所述锁定记录中记录参与加载的监控节点的标识;所述方法进一步包括:在所述第一实例集中的所有实例被监控加载后,无效所述锁定记录。
该方案介绍了zookeeper在锁定过程中的作用。
第二方面,介绍了一种监控节点的实施例。监控集群包括多个监控节点,所述监控集群中的每个监控节点对实例进行监控,所述第一监控节点包括:判断模块,用于在第一监控节点上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例;加载模块,用于当所述第一实例集中存在尚未完成监控加载的时,进行如下操作:等待所述第一实例集中的所有实例监控加载完成之后,从所述第一实例集中接管一部分实例进行监控加载。
应用该方案,可以阻止两次分配的监控加载冲突,避免了同一个实例被多个监控节点监控的情况发生。
第二方面,提供一种第一监控节点的实现方式。该方案中,所述第一监控节点还包括锁定模块,所述锁定模块用于在第二监控节点下线后,把所述第一实例集设置为锁定状态,直至所述处于在线状态的监控节点对分配的实例加载完成后解除所述锁定状态。
该方案介绍了使用锁定这种具体方式来实现本发明方案。
第三方面,提供一种第一监控节点的实现方式。该方案中,监控集群包括多个监控节点,每个监控节点对实例进行监控,第一监控节点包括处理器和缓存,处理器运行缓存中的程序执行下述步骤:在第一监控节点上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例,当存在尚未完成监控加载的实例,进行这样的操作:所述第一监控节点等待所述第一实例集中的所有实例监控加载完成之后,从所述第一实例集中接管一部分实例进行监控加载。
第四方面,提供一种监控集群的实施例。该方案的具体实现以及相应的效果,可以参考第一方面以及第一方面的各种可能实现方式。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机程序产品应用于监控集群。监控集群运行该计算机程序执行:在第一监控节点上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例,当存在尚未完成监控加载的实例,进行这样的操作:所述第一监控节点等待所述第一实例集中的所有实例监控加载完成之后,从所述第一实例集中接管一部分实例进行监控加载。
第五方面的效果已经第五方面的各个可能实现方式及效果参见第一方面(及其各种可能实现方式)以及对应的效果。
附图说明
图1是监控集群拓扑图;
图2是监控节点下线后的监控关系示意图;
图3是下线节点上线后的监控关系示意图;
图4本发明实施例流程图;
图5是本发明实施例第一监控节点逻辑图。
具体实施方式
两个或者更多个监控节点组成监控集群,监控集群对多个实例进行监控。在不同的场景下,实例可以是虚拟机,程序或者服务(例如MySQL主备同步服务,mongodb集群服务),实例可以运行在服务器中。一个实例可以由一个服务器运行也可以有多个服务器共同运行。
如图1所示,监控集群包括监控节点11、监控节点12和监控节点13。实例21、实例22由监控节点11监控。实例23和实例24由监控节点12监控;实例25和实例26由监控节点13监控,这些实例运行于一个或者多个服务器(未图示)中。可选的,所述监控集群还可以包括和动物园管理员(zookeeper)31通信,zookeeper给监控集群提供服务。在另外一种实施例中,也可以认为zookeeper在监控集群之内,zookeeper和监控集群之内的监控节点通信。
当监控集群中有监控节点下线时,下线监控节点原本所监控的实例无法得到监控,因此需要把下线的监控节点原本所监控的实例转移给其他监控节点进行监控,具体而言是转移给所述监控集群中仍然在线的监控节点进行接管。当被转移的监控节点的实例全部完成监控加载后,监控关系变更完成。因此,监控节点下线会引起监控关系的变更。参见图2的实例,监控节点11下线,那么可以把实例21和实例22分配给监控节点12和监控节点13,。
监控集群中还会出现新的监控节点上线,例如:新的监控节点首次上线,或者原来下线的监控节点重新上线。为了减轻在线监控节点的总体负担,可以从所述监控集群所监控的实例中,转移一部分实例给新上线的监控节点进行监控。也就是说,新监控节点上线也会引起监控关系的变更。如果在前一次监控关系变更结束前,执行第二次监控关系变更可能会引起同一个实例被两个监控节点监控,造成了监控资源的浪费和监控管理的混乱。参见图3的实例,当监控节点11再次上线后,重新加载对实例21和实例22的监控。于是出现了实例21同时被监控节点11和监控节点12监控,实例22同时被监控节点11和监控节点13同时监控的情况。
本发明实施例中,在监控节点下线引起的第一次监控关系变更结束(监控关系变更所涉及的实例完成监控加载后,监控关系变更结束)之前,如果出现了需要再次更改监控关系的情况,那么暂时不会执行第二次监控关系的变更;直至前一次监控关系变更执行完成,再执行第二监控关系的变更。也就是说,如果监控节点22和监控节点23没有完成对实例21、实例22的监控加载之前,即使节点21重新上线,也不会为它加载实例21和实例22。直到监控节点22和监控节点23没有完成对实例21、实例22的监控加载之后,在监控节点21加载监控实例,例如把实例21和实例22重新归于监控节点21监控。
本发明实施例中,当监控集群中有监控节点下线时,把需要转交给在线监控节点的实例标记为锁定状态,直至接管过程结束后才解除锁定。锁定期间,被标记为锁定状态的实例不允许被再次转交给其他监控节点进行监管。使用锁定的办法,可以避免同一个实例被两个监控节点一起监控的情况发生。可选的,监控集群中有监控节点下线时,可以把所有的实例都标记为锁定状态,直至接管过程结束后才解除锁定。
下面以基于图1的拓扑结构为例,对监控节点管理方法实施例进行更详细的介绍。流程步骤可以参见图4。
步骤41,当监控节点11由于故障或者其他原因无法正常工作,被zookeeper感知到监控节点21下线,并把监控节点21下线的消息通知给监控集群中仍然在线的监控节点——也就是监控节点22和监控节点23。
并且,zookeeper 21中记录有当前在线的监控节点的ID。在监控节点21、监控节点22监控节点23都在线时,zookeeper中记录为:data(监控节点21,监控节点22,监控节点23);在监控节点21下线后,记录变更为data(监控节点22,监控节点23)。在Data()目录中删除了监控节点21意味着监控节点21的在系统层面的正式下线。
步骤42,监控节点22和监控节点23分别检测到zookeeper中的data(监控节点21,监控节点22,监控节点23)变为data(监控节点22,监控节点23)之后,相当于知道在线监控节点数目发生了变动。在线监控节点数目发生了变动,需要对实例的监控进行重新分配。监控节点22和监控节点23各自使用自己的本地缓存对都对分配范围data(监控节点22,监控节点23)进行缓存。
为了避免在本次实例监控加载的过程中,有其他实例监控加载被执行,造成先后两次分配的冲突。此时可以对实例集(实例21,实例22,实例23,实例24,实例25,实例26)进行锁定,锁定过程如下。
监控节点22和监控节点23分别向zookeeper申请对实例集整体进行锁定。假设监控节点22先申请,它申请到的锁定记录是lock-1/allocate(监控节点22,监控节点23);监控节点23在后申请,申请到的锁定记录是lock-2/allocate(监控节点22,监控节点23)。其中,lock-1和lock-2中的数字是锁定编号,由zookeeper按照规律分配,本发明实施例中这个规律是按照申请时间的先后,用单调递增的整数进行编号;allocate(监控节点22,监控节点23)描述了需要参与实例加载的监控节点包括:监控节点22与监控节点23。
步骤43,在步骤42中确定了分配(监控加载)范围,本步骤介绍实例的加载。
首先进行是否执行实例加载的判断。监控节点22和监控节点23分别从zookeeper中获取锁定记录。以监控节点22为例,获得lock-1/allocate(监控节点22,监控节点23)以及lock-2/allocate(监控节点22,监控节点23)两条锁定记录,按照编号由小到大的原则,因此以lock-1/allocate(监控节点22,监控节点23)为准。把lock-1/allocate(监控节点22,监控节点23)中的监控节点ID与本地缓存的data(监控节点22,监控节点23)中的监控节点ID进行比较,比较结果是二者一致,因此监控节点22执行实例加载。可选的,监控节点22把zookeeper中的lock-1/allocate(监控节点22,监控节点23)更新为lock-1/allocate(监控节点22,监控节点23)/{监控节点22},更新后所新增的部分用于描述:当前正在参与加载的监控节点包括监控节点22。
类似的,监控节点23执行和监控节点22相似的操作,lock-1/allocate(监控节点22,监控节点23)/(监控节点22)被再次更新,成为lock-1/allocate(监控节点22,监控节点23)/{监控节点22,监控节点23}。
本实施例中,按照分配算法(例如哈希一致性算法),原本由监控节点21所监控的实例(实例21,实例22)将分成两部分,分别由监控节点22、监控节点23进行监控加载。如果原本由监控节点22、监控节点23所监控的实例23、实例24、实例25以及实例26,仍然由这两个节点各自监控,不需要再次加载。在其他实施例中,如果原本由监控节点22所监控的实例改为监控节点23监控,那么这些实例需要监控节点23进行加载。
需要说明的是,在其他实施例中,可以仅对下线的监控节点21原本所监控的实例(实例21和实例22)重新计算监控节点。其余实例(实例23,实例24,实例25以及实例26)不再计算监控节点。相应的,锁定范围也限定为锁定实例21和实例22,并且记录在锁定记录中,例如锁定记录:锁定记录是lock-1/allocate(监控节点22,监控节点23:实例21,实例22)。此外,接管实例21和实例22的监控节点也可以仅涉及当前监控集群中的一部分节点,例如锁定记录是lock-1/allocate(监控节点22:实例21,实例22),意味着把实例21和实例22都交给监控节点22来监控。当把被锁定的实例集称为第一实例集,那么根据实施例的不同,第一实例集可以是所述监控集群所监控的所有实例的集合,也可以是下线的监控节点在下线前所监控的实例的集合。
步骤44,执行完加载操作的监控节点,把自己的ID从zookeeper所记录的锁定记录lock-1中的当前正在参与加载实例的监控节点中删除。
例如,当监控节点22完成自己所负责的实例加载之后,把lock-1/allocate(监控节点22,监控节点23)/{监控节点22,监控节点23}更新为lock-1/allocate(监控节点22,监控节点23)/{监控节点23}。
步骤45,在有监控节点尚未执行完加载(本实例中监控节点23还未完成加载)时,监控节点21重新上线,由于监控集群中的监控节点发生了变化,因此会再次触发对实例集中实例的监控进行重新分配。按照分配算法,需要把一部分实例分配给监控节点21实例,减轻监控节点22和监控节点23的负担。例如:把原本由监控节点21所监控的实例重新划分给监控节点21监控。此外,zookeeper把监控节点21上线的消息通知给监控节点22,监控节点23,从而在3个监控节点的缓存中所记录的当前集群,均更新为(监控节点21,监控节点22,监控节点23)。
本步骤中,监控节点21所执行的操作和步骤42中监控节点22(或监控节点23)所执行的操作类似,从而确定重新分配的范围。然而,本实施例中,由于监控节点22和监控节点23之前的加载操作还未执行完成,因此暂时不会参与重新分配。
监控节点21把自己的节点ID增加到zookeeper中的data目录,把data目录更新为zookeeper中的data(监控节点21,监控节点22,监控节点23),从而完成监控节点21的上线。Zookeeper可以把监控节点21上线的消息通知给监控节点22和监控节点23,由于监控节点22和监控节点23之前的加载操作还未执行完成,因此暂时不会进行响应。
监控节点21使用自己的本地缓存对对分配范围进行缓存,缓存的内容是:data(监控节点21,监控节点22,监控节点23),由此可见缓存内容中描述了参与分配的监控节点ID。
监控节点21向zookeeper申请对实例集进行锁定,它申请到的锁定记录是lock-3/allocate(监控节点21,监控节点22,监控节点23)/{监控节点21,监控节点22,监控节点23}。
步骤46,监控节点21从zookeeper中获取锁定记录,确定是否可以执行实例加载。如果可以执行实例加载就执行步骤47;否则继续等待步骤43-45的执行完成。
获得lock-1/allocate(监控节点22,监控节点23)/{监控节点22},lock-2/allocate(监控节点22,监控节点23)以及lock-3/allocate(监控节点22,监控节点22,监控节点23)共计三条锁定记录。从正在执行实例加载的锁定记录中选择编号最小的锁定记录,也就是lock-1/allocate(监控节点22,监控节点23)/allocating(监控节点23)为准。把lock-1/allocate(监控节点22,监控节点23)/(监控节点23)中的监控节点ID与本地缓存的data(监控节点21,监控节点22,监控节点23)中的监控节点ID进行比较,比较结果是二者不一致,因此监控节点21不执行实例加载。从而避免了同一个实例被多个监控节点监控,例如避免了实例21既被监控节点22监控又被监控节点21监控。
步骤47,当所有监控节点完成自己所负责的实例加载之后,监控集群执行第二次实例加载。
本步骤和步骤43、44类似,区别在于参与加载的监控节点发生了变化,因此可以参考步骤43和步骤44,下面仅做简单介绍。
当监控节点23完成自己所负责的实例加载之后,把lock-1/allocate(监控节点22,监控节点23)/{监控节点23}更新为lock-1/allocate(监控节点22,监控节点23)。在此之后,监控节点21从zookeeper中可以获取到加锁记录是:lock-1/allocate,lock-2/allocate(监控节点22,监控节点23)以及lock-3/allocate(监控节点21,监控节点22,监控节点23)共计三条锁定记录。其中,lock-3中记录的监控节点ID与监控节点21本地缓存所记录的监控节点ID相同,均是(监控节点21,监控节点22,监控节点23),因此以lock-3记录为准执行实例加载,把lock-3/allocate(监控节点21,监控节点22,监控节点23)更新为lock-1/allocate(监控节点21,监控节点22,监控节点23)/{监控节点21}。监控节点22、监控节点23也会执行类似的操作,最终把lock-3更新为:lock-3/allocate(监控节点22,监控节点23)/{监控节点21,监控节点22,监控节点23}。
接着,按照实例分配的算法,把实例集中的实例在监控节点之间进行调整。执行完加载操作的监控节点,把自己的ID从zookeeper所记录的锁定记录lock-3中的当前正在参与加载的监控节点中删除。
参见图5,第一监控节点5可以包括判断模块51,加载模块52和可选的锁定模块53。其中判断模块51用于在第一监控节点5上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例;加载模块52,用于当所述第一实例集中存在尚未完成监控加载的时,进行如下操作:等待所述第一实例集中的所有实例监控加载完成之后,从所述第一实例集中接管一部分实例进行监控加载。锁定模块53,用于在第二监控节点下线后,把所述第一实例集设置为锁定状态,直至所述处于在线状态的监控节点对分配的实例加载完成后解除所述锁定状态。此外,第一监控节点还可以包括处理器和缓存,处理器通过运行缓存中的计算机程序来执行上述第一监控节点所具有的的功能。
相应的,本发明实施例还提供了计算机可读存储介质和计算机程序产品,计算机可读存储介质和计算机程序产品中包含计算机指令用于实现本发明实施例中描述的各种方案。
以上模块的一个或多个可以软件、硬件或二者结合来实现。当以上任一模块或单元以软件实现的时候,所述软件以计算机程序指令的方式存在,并被存储在存储器中,处理器可以用于执行所述程序指令并实现以上方法流程。所述处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以内置于SoC(片上系统)或专用集成电路(application specific integratedcircuit,ASIC),也可是一个独立的半导体芯片。该处理器内处理用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(fieldprogrammable gate array,FPGA)、PLD(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
当以上模块或单元以硬件实现的时候,该硬件可以是CPU、微处理器、DSP、MCU、人工智能处理器、ASIC、SoC、FPGA、PLD、专用数字电路、硬件加速器或非集成的分立器件中的任一个或任一组合,其可以运行必要的软件或不依赖于软件以执行以上方法流程。
Claims (14)
1.一种监控实例的方法,监控集群包括多个监控节点,每个监控节点对实例进行监控,其特征在于,包括:
在第一监控节点上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例,当存在尚未完成监控加载的实例,进行如下操作:
所述第一监控节点等待所述第一实例集中的所有实例监控加载完成之后,从所述第一实例集中接管一部分实例进行监控加载。
2.根据权利要求1所述的监控实例的方法,所述第一实例集中的实例包括所述监控集群所监控的所有实例,其中:
在判断所述第一实例集中是否存在未加载完成的实例之前,还包括:
第二监控节点对所述第一实例集中的部分实例进行监控,所述第二监控节点所监控的实例数量少于所述第一实例集中实例数量;
所述第二监控节点下线后,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点;
所述处于在线状态的监控节点对分配的实例进行加载。
3.根据权利要求1所述的监控实例的方法,其中,在判断所述第一实例集中是否存在未加载完成的实例之前,还包括:
第二监控节点对所述第一实例集中的实例进行监控,所述第一实例集中的实例数量少于所述监控集群所监控的实例的总数;
所述第二监控节点下线后,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点;
所述处于在线状态的监控节点对分配的实例进行加载。
4.根据权利要求2-3任一项所述的监控实例的方法,其中,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点,具体包括:
将所述第二监控节点下线前所监控的实例分配给所述第一监控节点进行监控。
5.根据权利要求2-4任一项所述的的监控实例的方法,还包括:
第二监控节点下线后,所述第一实例集进入锁定状态,直至所述处于在线状态的监控节点对分配的实例进行加载完成后解除所述锁定状态。
6.根据权利要求5所述的监控实例的方法,所述监控集群和动物园管理者zookeeper通信,其中,所述第一实例集进入锁定状态,具体包括:在zookeeper中写入锁定记录,所述锁定记录中记录参与加载的监控节点的标识;所述方法进一步包括:
在所述第一实例集中的所有实例被监控加载后,无效所述锁定记录。
7.一种监控节点,监控集群包括多个监控节点,所述监控集群中的每个监控节点对实例进行监控,其特征在于,所述第一监控节点包括:
判断模块,用于在第一监控节点上线加入所述监控集群后,判断第一实例集中是否存在尚未完成监控加载的实例;
加载模块,用于当所述第一实例集中存在尚未完成监控加载的时,进行如下操作:等待所述第一实例集中的所有实例监控加载完成之后,从所述第一实例集中接管一部分实例进行监控加载。
8.根据权利要求7所述的监控节点,所述第一监控节点还包括:
锁定模块,用于在第二监控节点下线后,把所述第一实例集设置为锁定状态,直至所述处于在线状态的监控节点对分配的实例加载完成后解除所述锁定状态。
9.一种监控集群,所述监控集群包括第一监控节点在内的多个监控节,每个监控节点对实例进行监控,其特征在于,包括:
在第一监控节点上线后,所述监控集群中的节点用于判断第一实例集中是否存在尚未完成监控加载的实例,当存在尚未完成监控加载的实例,所述第一监控节点用于:
等待所述第一实例集中的所有实例监控加载完成之后,所述第一监控节点用于从所述第一实例集中接管一部分实例进行监控加载。
10.根据权利要求9所述的监控集群,所述第一实例集中的实例包括所述监控集群所监控的所有实例,其中:
所述监控集群中还包括第二监控节点,所述第二监控节点用于对所述第二实例集中实例进行监控,所述第二实例集是所述第一实例集的子集;
所述监控集群中的监控节点,用于在所述第二监控节点从所述监控集群下线后,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点;
所述处于在线状态的监控节点,用于对分配的实例进行加载。
11.根据权利要求9所述的监控集群,其中:
所述监控集群还包括第二监控节点,所述第二监控节点用于对所述第一实例集中的实例进行监控,所述第一实例集中的实例数量少于所述监控集群所监控的实例的总数;
所述监控集群中的节点用于,当所述第二监控节点下线后,将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点;
所述处于在线状态的监控节点,用于对分配的实例进行加载。
12.根据权利要求9-11任一项所述的监控集群,其中,所述监控集群中的监控节点将所述第一实例集中的实例分配给所述监控集群中处于在线状态的监控节点,具体包括:
所述监控集群中的监控节点将所述第二监控节点下线前所监控的实例分配给所述第一监控节点进行监控。
13.根据权利要求9-12任一项所述的监控集群,还包括:
所述监控集群中的节点,还用于在第二监控节点下线后,将所述第一实例集进入锁定状态,直至所述处于在线状态的监控节点对分配的实例进行加载后解除锁定。
14.根据权利要求13所述的的监控集群,所述监控集群进一步包括动物园管理者zookeeper通信,其中,对所述第一实例集进行锁定,
所述监控集群中的监控节点用于:在zookeeper中写入锁定记录,所述锁定记录中记录参与加载的监控节点的标识;在所述第一实例集中的所有实例被监控加载后,所述监控集群中的监控节点无效所述zookeeper中的所述锁定记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811597256.XA CN111367202B (zh) | 2018-12-26 | 2018-12-26 | 监控实例的方法、监控节点和监控集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811597256.XA CN111367202B (zh) | 2018-12-26 | 2018-12-26 | 监控实例的方法、监控节点和监控集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367202A true CN111367202A (zh) | 2020-07-03 |
CN111367202B CN111367202B (zh) | 2022-12-13 |
Family
ID=71208911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811597256.XA Active CN111367202B (zh) | 2018-12-26 | 2018-12-26 | 监控实例的方法、监控节点和监控集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367202B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
CN102231681A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种高可用集群计算机系统及其故障处理方法 |
CN102932210A (zh) * | 2012-11-23 | 2013-02-13 | 北京搜狐新媒体信息技术有限公司 | 一种PaaS云平台的节点监控方法和系统 |
CN102929220A (zh) * | 2012-09-27 | 2013-02-13 | 青岛海信网络科技股份有限公司 | 分布式监控系统及其数据库服务器和故障处理装置及方法 |
CN103019889A (zh) * | 2012-12-21 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 分布式文件系统及其故障处理方法 |
CN104169881A (zh) * | 2012-01-18 | 2014-11-26 | Dh2I公司 | 用于服务器集群应用程序虚拟化的系统和方法 |
US8977888B1 (en) * | 2012-11-26 | 2015-03-10 | Symantec Corporation | Supporting live migration of virtual machine components with SCSI-3 persistent reservation fencing enabled |
US20150378927A1 (en) * | 2014-06-27 | 2015-12-31 | International Business Machines Corporation | Allowing non-cacheable loads within a transaction |
CN105531675A (zh) * | 2013-06-19 | 2016-04-27 | 日立数据系统工程英国有限公司 | 分散型分布式计算系统 |
US20160239350A1 (en) * | 2015-02-12 | 2016-08-18 | Netapp, Inc. | Load balancing and fault tolerant service in a distributed data system |
CN106156126A (zh) * | 2015-04-08 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 处理数据任务中的数据冲突检测方法及服务器 |
US20170041209A1 (en) * | 2015-08-03 | 2017-02-09 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for path monitoring in a software-defined networking (sdn) system |
CN106484530A (zh) * | 2016-09-05 | 2017-03-08 | 努比亚技术有限公司 | 一种分布式任务调度运维监控系统及方法 |
-
2018
- 2018-12-26 CN CN201811597256.XA patent/CN111367202B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
CN102231681A (zh) * | 2011-06-27 | 2011-11-02 | 中国建设银行股份有限公司 | 一种高可用集群计算机系统及其故障处理方法 |
CN104169881A (zh) * | 2012-01-18 | 2014-11-26 | Dh2I公司 | 用于服务器集群应用程序虚拟化的系统和方法 |
CN102929220A (zh) * | 2012-09-27 | 2013-02-13 | 青岛海信网络科技股份有限公司 | 分布式监控系统及其数据库服务器和故障处理装置及方法 |
CN102932210A (zh) * | 2012-11-23 | 2013-02-13 | 北京搜狐新媒体信息技术有限公司 | 一种PaaS云平台的节点监控方法和系统 |
US8977888B1 (en) * | 2012-11-26 | 2015-03-10 | Symantec Corporation | Supporting live migration of virtual machine components with SCSI-3 persistent reservation fencing enabled |
CN103019889A (zh) * | 2012-12-21 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 分布式文件系统及其故障处理方法 |
CN105531675A (zh) * | 2013-06-19 | 2016-04-27 | 日立数据系统工程英国有限公司 | 分散型分布式计算系统 |
US20150378927A1 (en) * | 2014-06-27 | 2015-12-31 | International Business Machines Corporation | Allowing non-cacheable loads within a transaction |
US20160239350A1 (en) * | 2015-02-12 | 2016-08-18 | Netapp, Inc. | Load balancing and fault tolerant service in a distributed data system |
CN106156126A (zh) * | 2015-04-08 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 处理数据任务中的数据冲突检测方法及服务器 |
US20170041209A1 (en) * | 2015-08-03 | 2017-02-09 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for path monitoring in a software-defined networking (sdn) system |
CN106484530A (zh) * | 2016-09-05 | 2017-03-08 | 努比亚技术有限公司 | 一种分布式任务调度运维监控系统及方法 |
Non-Patent Citations (1)
Title |
---|
武林平等: "集群系统运行状态监控软件设计", 《华中科技大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111367202B (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346460B (zh) | 一种基于事务的服务控制系统及其控制方法 | |
US7428210B2 (en) | Fail over method and a computing system having fail over function | |
US20140376362A1 (en) | Dynamic client fail-over during a rolling patch installation based on temporal server conditions | |
WO2015131696A1 (zh) | 一种虚拟化网络功能管理的方法和装置 | |
CN106993019A (zh) | 分布式任务调度方法和系统 | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
CA2847597A1 (en) | Clustered client failover | |
CN108023939B (zh) | 分布式系统中锁服务器故障的处理方法及其系统 | |
JP2007172334A (ja) | 並列型演算システムの冗長性を確保するための方法、システム、およびプログラム | |
CN111897558A (zh) | 容器集群管理系统Kubernetes升级方法和装置 | |
CN112395047A (zh) | 虚拟机故障疏散方法、系统及计算机可读介质 | |
WO2021003677A1 (zh) | 一种分布式系统中的业务升级方法、装置及分布式系统 | |
CN112948063A (zh) | 云平台的创建方法、装置、云平台以及云平台实现系统 | |
CN108319492B (zh) | 复位物理机的方法、装置与系统 | |
CN112434008A (zh) | 分布式数据库升级方法、设备及介质 | |
CN115373799A (zh) | 一种集群管理的方法、装置及电子设备 | |
CN111367202B (zh) | 监控实例的方法、监控节点和监控集群 | |
KR102053849B1 (ko) | 항공기 시스템 및 그것의 제어 방법 | |
CN105373451B (zh) | 一种虚拟机放置的方法及装置 | |
CN111459903A (zh) | 数据库管理系统及方法 | |
CN112905322B (zh) | 资源加锁的方法、计算设备及计算机存储介质 | |
CN114090211A (zh) | 协调单任务主从程序的方法、装置和相关多服务器系统 | |
CN113886349A (zh) | 计费系统参数装载共享方法、装置及计算设备 | |
CN110647440A (zh) | 一种基于状态机的大数据任务处理方法及系统 | |
CN114157569A (zh) | 集群系统及其构建方法和构建装置 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220301 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |