CN113806177A - 集群监控的方法、装置、电子设备及存储介质 - Google Patents
集群监控的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113806177A CN113806177A CN202111107510.5A CN202111107510A CN113806177A CN 113806177 A CN113806177 A CN 113806177A CN 202111107510 A CN202111107510 A CN 202111107510A CN 113806177 A CN113806177 A CN 113806177A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- target
- cluster
- task queue
- preset
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Abstract
本申请提供一种集群监控的方法、装置、电子设备及存储介质,涉及集群监控技术领域。其中,该方法应用于集群监控系统,集群监控系统包括管理中心和至少一个监控节点,管理中心与至少一个监控节点分别通信连接,其中,管理中心获取当前集群中的监控对象,并将针对每个监控对象的监控任务分别分配至对应的任务队列中;为每个任务队列分别分配至少一个监控节点,通过每个监控节点分别执行对应的任务队列中的监控任务;管理中心根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行调整增加或删除,实现了根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行自适应调整,提高了集群监控系统的扩展性。
Description
技术领域
本申请涉及集群监控技术领域,特别涉及一种集群监控的方法、装置、电子设备及存储介质。
背景技术
在大型的消息处理场景下,Kafka集群作为一个高吞吐量的分布式消息系统,具有实时横向扩展、高吞吐量、支持大量堆积,具有容错性和速度快等特点。在Kafka集群中,没有“中心主节点”的概念,集群中所有的节点都是对等的。
现有的,对于Kafka集群来说,主要通过已有的集群监控工具,比如,KafkaManager工具对Kafka集群进行监控。
但由于现有监控工具的实现过程比较简单,因此存在扩展性较差的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种集群监控的方法、装置、电子设备及存储介质,可以提高集群监控系统的扩展性。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本发明提供一种集群监控的方法,应用于集群监控系统,所述集群监控系统包括管理中心和至少一个监控节点,所述管理中心与所述至少一个监控节点分别通信连接,所述方法包括:
所述管理中心获取当前集群中的监控对象,并将针对每个所述监控对象的监控任务分别分配至对应的任务队列中;
为每个所述任务队列分别分配至少一个所述监控节点,通过每个所述监控节点分别执行对应的任务队列中的监控任务;所述管理中心根据每个所述任务队列中未完成的监控任务的数量对所述集群监控系统中的所述监控节点进行调整。
在可选的实施方式中,所述通过每个所述监控节点分别对对应的任务队列中的监控任务进行执行,包括:
所述监控节点中的目标监控节点获取对应的任务队列中的目标监控任务;
确定所述目标监控任务对应的目标监控对象及所述目标监控对象对应的目标集群;
通过所述目标集群提供的接口获取所述目标监控对象的实时信息;
若所述目标监控对象的实时信息获取成功,则确认所述目标监控任务完成。
在可选的实施方式中,所述管理中心根据每个所述任务队列中未完成的监控任务的数量对所述集群监控系统中的所述监控节点进行调整,包括:
根据目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第一条件;
当所述目标任务队列满足所述预设的第一条件时,则为所述目标任务队列增加至少一个监控节点。
在可选的实施方式中,所述预设的第一条件包括以下任一条件:
所述目标任务队列中未完成的监控任务的数量连续N次超过第一预设阈值;
在预设时长内所述目标任务队列中未完成的监控任务的数量超过第二预设阈值的次数达到第一预设次数;
所述目标任务队列中未完成的监控任务的数量超过第三预设阈值;
所述目标任务队列的长度连续M次超过第四预设阈值;
在预设时长内所述目标任务队列的长度超过第五预设阈值的次数达到第二预设次数;
所述目标任务队列中的长度超过第六预设阈值;
其中,所述目标任务队列的长度根据所述目标任务队列中未完成的监控任务的数量确定,所述N和M均为正整数。
在可选的实施方式中,所述方法还包括:
当所述目标任务队列满足预设的第一条件时,生成告警信息,所述告警信息包括所述目标任务队列的标识。
在可选的实施方式中,所述方法还包括:
根据所述目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第二条件;
当所述目标任务队列满足所述预设的第二条件,将所述目标任务队列对应的监控节点删除至少一个。
在可选的实施方式中,所述监控对象包括消息类型的监控对象和消费者类型的监控对象;
所述将针对每个所述监控对象的监控任务分别分配至对应的任务队列中,包括:根据所述监控对象的类型将针对每个所述监控对象的监控任务分别分配至不同的任务队列中。
在可选的实施方式中,当所述目标监控对象为消息类型的监控对象时,所述目标监控对象的实时信息包括所述目标监控对象对应的消息流入所述目标集群的速率,和/或者,所述目标集群中所述目标监控对象对应的消息的消费速率;
当所述目标监控对象为消费者类型的监控对象时,所述目标监控对象的实时信息包括所述目标集群中堆积消息的数量。
在可选的实施方式中,所述将针对每个所述监控对象的监控任务分别分配至对应的任务队列中,包括:
根据所述监控对象的标识及对应的集群的标识,确定所述监控对象的监控任务待分配的任务队列。
在可选的实施方式中,所述方法还包括:
将根据所述监控对象的标识及对应的集群的标识确定的字符串加入所述监控对象的监控任务对应的任务队列中。
在可选的实施方式中,所述方法还包括:
当所述目标监控节点获取到所述目标监控对象的实时信息时,将所述实时信息发送至预设的数据接收器。
第二方面,本发明提供一种集群监控的装置,所述装置包括:
分配模块,用于获取当前集群中的监控对象,并将针对每个所述监控对象的监控任务分别分配至对应的任务队列中;
执行模块,用于为每个所述任务队列分别分配至少一个监控节点,通过每个所述监控节点分别执行对应的任务队列中的监控任务;
所述分配模块,还用于根据每个所述任务队列中未完成的监控任务的数量对集群监控系统中的所述监控节点进行调整。
在可选的实施方式中,所述执行模块,具体用于所述监控节点中的目标监控节点获取对应的任务队列中的目标监控任务;
确定所述目标监控任务对应的目标监控对象及所述目标监控对象对应的目标集群;
通过所述目标集群提供的接口获取所述目标监控对象的实时信息;
若所述目标监控对象的实时信息获取成功,则确认所述目标监控任务完成。
在可选的实施方式中,所述执行模块,具体用于根据目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第一条件;
当所述目标任务队列满足所述预设的第一条件时,则为所述目标任务队列增加至少一个监控节点。
在可选的实施方式中,所述预设的第一条件包括以下任一条件:
所述目标任务队列中未完成的监控任务的数量连续N次超过第一预设阈值;
在预设时长内所述目标任务队列中未完成的监控任务的数量超过第二预设阈值的次数达到第一预设次数;
所述目标任务队列中未完成的监控任务的数量超过第三预设阈值;
所述目标任务队列的长度连续M次超过第四预设阈值;
在预设时长内所述目标任务队列的长度超过第五预设阈值的次数达到第二预设次数;
所述目标任务队列中的长度超过第六预设阈值;
其中,所述目标任务队列的长度根据所述目标任务队列中未完成的监控任务的数量确定,所述N和M均为正整数。
在可选的实施方式中,所述装置还包括:生成模块,用于当所述目标任务队列满足预设的第一条件时,生成告警信息,所述告警信息包括所述目标任务队列的标识。
在可选的实施方式中,所述执行模块,还用于根据所述目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第二条件;
当所述目标任务队列满足所述预设的第二条件,将所述目标任务队列对应的监控节点删除至少一个。
在可选的实施方式中,所述监控对象包括消息类型的监控对象和消费者类型的监控对象;所述执行模块,具体用于根据所述监控对象的类型将针对每个所述监控对象的监控任务分别分配至不同的任务队列中。
在可选的实施方式中,当所述目标监控对象为消息类型的监控对象时,所述目标监控对象的实时信息包括所述目标监控对象对应的消息流入所述目标集群的速率,和/或者,所述目标集群中所述目标监控对象对应的消息的消费速率;
当所述目标监控对象为消费者类型的监控对象时,所述目标监控对象的实时信息包括所述目标集群中堆积消息的数量。
在可选的实施方式中,所述分配模块,具体用于根据所述监控对象的标识及对应的集群的标识,确定所述监控对象的监控任务待分配的任务队列。
在可选的实施方式中,所述分配模块,还用于将根据所述监控对象的标识及对应的集群的标识确定的字符串加入所述监控对象的监控任务对应的任务队列中。
在可选的实施方式中,所述执行模块,还用于当所述目标监控节点获取到所述目标监控对象的实时信息时,将所述实时信息发送至预设的数据接收器。
第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一所述集群监控的方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一所述集群监控的方法的步骤。
本申请的有益效果是:
本申请实施例提供的一种集群监控的方法、装置、电子设备及存储介质,可以应用于集群监控系统,集群监控系统包括管理中心和至少一个监控节点,管理中心与至少一个监控节点分别通信连接,该方法包括:管理中心获取当前集群中的监控对象,并将针对每个监控对象的监控任务分别分配至对应的任务队列中;为每个任务队列分别分配至少一个监控节点,通过每个监控节点分别执行对应的任务队列中的监控任务;管理中心根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行调整,应用本申请实施例,实现了可以根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行自适应调整,提高了集群监控系统的扩展性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种集群监控的方法的流程示意图;
图2为本申请实施例提供的另一种集群监控的方法的流程示意图;
图3为本申请实施例提供的又一种集群监控的方法的流程示意图;
图4为本申请实施例提供的另一种集群监控的方法的流程示意图;
图5为本申请实施例提供的又一种集群监控的方法的流程示意图;
图6为本申请实施例提供的另一种集群监控的方法的流程示意图;
图7为本申请实施例提供的一种集群监控的装置的功能模块示意图;
图8为本申请实施例提供的另一种集群监控的装置的功能模块示意图;
图9为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为了更好地理解本申请实施例所提供的集群监控的方法,本申请以Kafka集群为例对该方法进行说明,当然,需要说明的是,本申请所提供的集群监控的方法还可以应用于Tomcat集群、weblogic集群、rocketMQ等,在此不作限定。在介绍本申请之前,首先对Kafka集群中的相关名词进行如下解释说明:
Kafka集群:一个分布式消息系统,具有高水平扩展和高吞吐量的特点,在Kafka集群中,没有“中心主节点”的概念,集群中所有的节点都是对等的。
生产者(Producer):向kafka集群发消息的客户端,Producer负责决定将消息发送到对应Topic中的Partition(分区)。
消费者(Consumer):从kafka集群取消息的客户端,Consumer订阅Topic,消费Topic内部的消息。
Topic(T):主题,从逻辑上讲一个Topic就是一个Queue,即一个队列;从存储上讲,Kafka中可将消息分类,一个Topic存储了一类相同的消息,是一类消息的集合,也即每一类的消息称为一个Topic,消费者可以对不同的Topic进行不同的处理。
Consumer Group(CG):这是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有多个CG。topic的消息会复制(不是真的复制,是概念上的)到所有的CG,但每个CG只会把消息发给该CG中的一个consumer。如果需要实现单播,只要每个consumer有一个独立的CG就可以了;要实现广播只要所有的consumer在同一个CG;用CG还可以将consumer进行自由的分组而不需要多次发送消息到不同的topic。
Broker(B):一台kafka服务器就是一个broker,一个集群由多个broker组成,一个broker可以容纳多个topic。
Partition(P):分区,Partition是存在于服务端,内部保持顺序、且顺序不可变更的一个队列,用于存储消息。也即为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,kafka只保证按一个partition中的消息将顺序发给consumer,不保证一个topic的整体(多个partition间)的顺序。
消息堆积:当Producer产生大量消息,而Consumer无法及时对消息进行消费,导致broker堆积大量的信息,将会影响消息的实时性,甚至导致broker误以为一直消费超时的consumer挂掉而启动均衡(rebalance)机制。
kafka集群作为一个高吞吐量的分布式消息系统,被广泛应用在多种实际业务中,而业务的运作不仅依赖于集群的稳定性,更与集群中topic消息的消费情况强相关。因此,有必要对kafka集群进行监控,为了实现对kafka集群的监控,现有主要通过Kafka Manager监控工具来实现。
Kafka Manager是kafka社区使用最广泛的第一类工具,能够满足多集群的所有kafka对象管理,其中,通过Kafka Manager进行监控时,需要通过Java管理扩展(JavaManagement Extensions,JMX)接口实现,在拉取大型kafka集群的信息时,就要占用更多的资源,并消耗更多的时间。因此,通过Kafka Manager监控大型kafka集群时,当消费者数量较多的情况下,同步所有消费者名称,并且分别计算消息堆积所需要的时间,可能超过监控周期,因此,现有的集群监控工具存在扩展性较差的问题。
有鉴于此,本申请实施例提供一种集群监控的方法,实现了可以根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行自适应调整,提高了集群监控系统的扩展性。
图1为本申请实施例提供的一种集群监控的方法的流程示意图,该方法可以应用于集群监控系统,集群监控系统可以包括管理中心和至少一个监控节点,管理中心与至少一个监控节点分别通信连接。可选地,该集群监控系统可以部署在本地服务器、云端服务器上等,在此不作限定;在一些实施例中,管理中心在集群监控系统中的表现形式可以为一个进程、一个子服务器等,每个监控节点在集群监控系统中的表现形式也可以为一个进程、一个子服务器等,在此不作限定,根据实际的应用场景可以有所不同。如图1所示,该集群监控的方法可以包括:
S101、管理中心获取当前集群中的监控对象,并将针对每个监控对象的监控任务分别分配至对应的任务队列中。
可选地,当前集群可以包括多个待监控集群,比如,kafka集群、Tomcat集群、weblogic集群等,本申请在此并不对当前集群的数量进行监控。其中,每个监控对象可以对应一个监控任务,任务队列用于存储针对各监控对象的各监控任务,当然,本申请在此并不限定任务队列的长度阈值,根据实际的应用场景可以灵活设置。可选地,每个任务队列可以存储多个监控任务,针对不同监控对象的监控任务可以被分配至不同的任务队列中。
可选地,对于不同的当前集群,可以包括不同的监控对象,其中,以kafka集群为例进行说明,kafka集群中的监控对象可以包括:topic和consumer,也即可以将针对topic和consumer的监控任务分别分配至对应的任务队列中。可选地,本申请中的任务队列可以是redis队列、rocketMQ队列等类型的队列,在此不作限定。示例地,若任务队列包括redis队列,可选地,可以在集群监控系统配置redis服务。
此外,还需要说明的是,管理中心获取当前集群中的监控对象时,可以根据预设采集频率获取,可选地,预设采集频率可以是60s、80s等任意频率,根据获取的监控对象,可以采用预设的任务生成方法生成各监控对象对应的监控任务。示例地,管理中心可以以预设采集频率遍历当前集群,获取当前集群中的所有监控对象。再或者,若在集群监控系统配置了redis服务,可选地,可以在redis服务中配置预设采集频率,当然,具体设置方式并不以此为限。
S102、为每个任务队列分别分配至少一个监控节点,通过每个监控节点分别执行对应的任务队列中的监控任务;管理中心根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行调整。
基于上述说明,管理中心将针对每个监控对象的监控任务分别分配至对应的任务队列中,那么此时任务队列将包括针对每个监控对象的监控任务,而该监控任务也即需要执行的任务,进一步地,集群监控系统可以为每个任务队列分别分配至少一个监控节点,通过每个监控节点分别执行对应的任务队列中的监控任务,从而可以完成监控任务的执行。可选地,一个监控节点可以执行对应的任务队列中的一个监控任务,但不以此为限,根据实际的应用场景,也可以设置一个监控节点执行对应的任务队列中的多个监控任务。在一些实施例中,一个监控节点可以用一个worker表示。
其中,需要说明的是,由于可能存在任务队列中未完成的监控任务的数量与集群监控系统中监控节点的数量不匹配的情况,比如,任务队列中未完成的监控任务的数量较多,但集群监控系统中监控节点的数量较少,那么此时,任务队列中未完成的监控任务将无法被监控节点及时执行,集群监控系统达到监控瓶颈,监控效率降低的问题,本申请中设置管理中心根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行调整,可以理解的是,若每个任务队列中未完成的监控任务的数量较多时,可以调整增加集群监控系统中的监控节点的数量,保证集群监控系统的监控效率,提高监控效率;而若每个任务队列中未完成的监控任务的数量较少时,可以调整减少集群监控系统中的监控节点的数量,降低集群监控系统的开销,提高集群监控系统的监控性能。
此外,需要说明的是,为每个任务队列分别分配至少一个监控节点时,可选地,可以为每个任务队列分别分配多个监控节点,也即可以通过多个监控节点领取任务队列中的多个监控任务进行执行,当然,一个监控节点也可以被分配给多个队列,也即一个监控节点可以领取多个任务队列中的一个或多个监控任务进行执行,在此不作限定,根据实际的应用场景可以灵活设置。
综上,本申请实施例提供一种集群监控的方法,应用于集群监控系统,集群监控系统包括管理中心和至少一个监控节点,管理中心与至少一个监控节点分别通信连接,该方法包括:管理中心获取当前集群中的监控对象,并将针对每个监控对象的监控任务分别分配至对应的任务队列中;为每个任务队列分别分配至少一个监控节点,通过每个监控节点分别执行对应的任务队列中的监控任务;管理中心根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行调整,应用本申请实施例,实现了可以根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行自适应调整,提高了集群监控系统的扩展性和适用性。
此外,还可以看出的是,由于本申请可以根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行调整,因此,对于当前集群中一些未活动的监控对象,本申请也可以实现监控,可以提高本申请集群监控的方法的适用性。
图2为本申请实施例提供的另一种集群监控的方法的流程示意图。可选地,如图2所示,上述通过每个监控节点分别对对应的任务队列中的监控任务进行执行,可以包括:
S201、监控节点中的目标监控节点获取对应的任务队列中的目标监控任务。
其中,目标监控节点可以是至少一个监控节点中的任一监控节点,参见前述的说明可知,任务队列中的监控任务和至少一个监控节点存在对应的分配关系,因此,对于目标监控节点来说,目标监控节点可以获取任务队列中的目标监控任务。
S202、确定目标监控任务对应的目标监控对象及目标监控对象对应的目标集群。
继续参见相关说明可知,由于各监控任务与各监控对象存在对应关系,各监控对象与各集群存在对应关系,因此,基于获取的目标监控任务,可以进一步确定该目标监控任务对应的目标监控对象,以及该目标监控对象对应的目标集群。
S203、通过目标集群提供的接口获取目标监控对象的实时信息。
其中,目标集群提供的接口可以用于获取目标监控对象的实时信息,在一些实施例中,目标集群提供的接口可以是JMX接口,又或者,可以是集群中其他可交互的接口,在此不作限定,根据实际的应用场景,可以使用集群已有的接口,也可以增设新的接口,在此不作限定。
S204、若目标监控对象的实时信息获取成功,则确认目标监控任务完成。
可以理解的是,若通过目标监控节点执行任务队列中的目标监控任务时,若目标监控任务对应的目标监控对象的实时信息获取成功,说明此时已经完成了对目标监控对象的监控,那么可以确认目标监控任务完成。可选地,若目标监控任务完成,则可以分配该目标监控任务对应的目标监控节点执行任务队列中的其他监控任务,当然,根据实际的应用场景,本申请在此不作限定。
图3为本申请实施例提供的又一种集群监控的方法的流程示意图。可选地,如图3所示,上述管理中心根据每个任务队列中未完成的监控任务的数量对集群监控系统中的监控节点进行调整,包括:
S301、根据目标任务队列中未完成的监控任务的数量确定目标任务队列是否满足预设的第一条件。
S301、当目标任务队列满足预设的第一条件时,则为目标任务队列增加至少一个监控节点。
其中,预设的第一条件可以理解成为目标任务队列增加至少一个监控节点的临界条件,其中,若目标任务队列中未完成的监控任务的数量满足预设的第一条件时,说明此时目标任务队列中未完成的监控任务的数量较多,存在监控任务堆积的情况,目标任务队列对应的监控节点无法及时执行目标任务队列中的各监控任务,在该情况下,为了保证能够在指定的时间周期内及时执行各监控任务,获取到各监控对象的实时信息,此时可以为目标任务队列增加至少一个监控节点,通过该增加操作,可以通过新增加的监控节点获取未完成的监控任务对应的监控对象的实时信息,实现了当集群监控系统的监控性能达到瓶颈时,特别地当应用于大型集群的监控时,可以及时增加监控节点,保证集群中的监控对象可以被及时监控,提高监控效率、保证监控效果;而若目标任务队列中未完成的监控任务的数量不满足预设的第一条件时,说明当前目标任务队列对应的监控节点足以执行目标任务队列中的各监控任务,则在该情况下,可以不增加监控节点。
可选地,预设的第一条件可以根据监控的经验值设置,在一些实施例中,监控过程中,也可以对预设的第一条件进行更新,在此不作限定,根据实际的应用场景可以灵活设置。当然,本申请在此并不限定调整过程中具体增加的监控节点的数量,可以是每次增加预设数量监控节点,又或者,根据预设映射表确定增加的监控节点的数量,可选地,该预设映射表可以包括:未完成的监控任务的数量与预设增加的监控节点数量之间的对应关系,当然,具体调整增加的方式并不以此为限。
可选地,若一个监控节点对应一个进程,则为目标任务队列增加至少一个监控节点时,也即增加至少一个新的进程。在一些实施例中,当目标任务队列满足预设的第一条件时,可以根据目标任务队列对应的已有监控节点和预设调整算法增加至少一个监控节点时,当然,具体增加方式并不以此为限。
综上,本申请实施例提供的集群监控的方法,实现了当对大型集群进行监控时,可以及时调整增加监控节点,保证集群中的监控对象可以被及时监控,提高监控效率、保证监控效果。
可选地,上述预设的第一条件可以包括以下任一条件:
情况a.目标任务队列中未完成的监控任务的数量连续N次超过第一预设阈值。
情况b.在预设时长内目标任务队列中未完成的监控任务的数量超过第二预设阈值的次数达到第一预设次数。
情况c.目标任务队列中未完成的监控任务的数量超过第三预设阈值。
在一些实施例中,预设的第一条件可以根据目标任务队列中未完成的监控任务的数量设定,可选地,预设的第一条件包括上述情况a,则若统计到目标任务队列中未完成的监控任务的数量连续N次超过第一预设阈值,可以认为目标任务队列满足预设的第一条件;或者,预设的第一条件包括上述情况b,则若统计到预设时长内目标任务队列中未完成的监控任务的数量超过第二预设阈值的次数达到第一预设次数,可以认为目标任务队列满足预设的第一条件,其中,预设时长可以是任意时长,比如0.5小时、1小时、24小时等,根据实际的应用场景可以灵活设置。第一预设次数的取值可以是任意值,比如,2、3、5等,根据实际的应用场景可以灵活设置;又或者,预设的第一条件包括上述情况b,则一旦统计到目标任务队列中未完成的监控任务的数量超过第三预设阈值,可以认为目标任务队列满足预设的第一条件。
情况d.目标任务队列的长度连续M次超过第四预设阈值。
情况e.在预设时长内目标任务队列的长度超过第五预设阈值的次数达到第二预设次数。
情况f.目标任务队列中的长度超过第六预设阈值。
其中,目标任务队列的长度根据目标任务队列中未完成的监控任务的数量确定,N和M均为正整数。可以理解的是,若目标任务队列的长度较长,则说明目标任务队列中未完成的监控任务的数量较多。
在一些实施例中,预设的第一条件可以根据目标任务队列的长度设定,可选地,预设的第一条件包括上述情况d,则若统计到目标任务队列的长度连续M次超过第四预设阈值,可以认为目标任务队列满足预设的第一条件;或者,预设的第一条件包括上述情况e,则若统计到预设时长内目标任务队列的长度超过第五预设阈值的次数达到第二预设次数,可以认为目标任务队列满足预设的第一条件,其中,第二预设次数的取值可以是任意值,其值可以与第一预设次数相同或不同,在此不作限定;又或者,一旦统计到目标任务队列中的长度超过第六预设阈值,可以认为目标任务队列满足预设的第一条件。
需要说明的是,本申请在此并不限定N和M的大小关系,N和M可以相等,又或者,N可以大于或小于M;当然,也不限定第一预设阈值、第二预设阈值、第三预设阈值、第四预设阈值、第五预设阈值、第六预设阈值之间的关系,可以全部相等,或部分相等,又或者,均不相等,根据实际的应用场景,可以灵活设定各阈值的取值。比如,第一预设阈值可以是50、100、1000等任意取值,在此不作限定。当然,需要说明的是,根据实际的应用场景,预设的第一条件也可以根据目标任务队列的长度,或,目标任务队列中未完成的监控任务的数量设置为其他条件,在此不作限定。
图4为本申请实施例提供的另一种集群监控的方法的流程示意图。可选地,如图4所示,上述方法还包括:
S401、当目标任务队列满足预设的第一条件时,生成告警信息,告警信息包括目标任务队列的标识。
基于上述说明,当目标任务队列满足预设的第一条件时,说明目标任务队列中未完成的监控任务的数量较多,在该情况下,可能是当前集群的监控对象的数量发生了多次突变、又或者初始监控节点的数量(默认监控节点的数量)设置不合适、又或者是存在其他问题,在该情况下,可以生成告警信息,告警信息可以包括目标任务队列的标识,所生成的告警信息可以通过短信、邮件、消息等方式发送给告警设备,则管理人员通过告警设备可以获取到该告警信息,根据该告警信息可以知晓当前告警的目标任务队列的标识,以便集群监控系统的工作人员可以及时了解到该异常情况,进行问题的及时排查和集群监控系统的维护,保证集群监控的方法的稳定性。其中,告警设备可以是手机、可穿戴设备、计算机等,在此不作限定,根据实际的应用场景可以灵活设置。
图5为本申请实施例提供的又一种集群监控的方法的流程示意图。可选地,如图5所示,上述方法还包括:
S501、根据目标任务队列中未完成的监控任务的数量确定目标任务队列是否满足预设的第二条件。
S502、当目标任务队列满足预设的第二条件,将目标任务队列对应的监控节点删除至少一个。
其中,预设的第二条件可以理解为删除目标任务队列对应的至少一个监控节点的临界条件,其中,若目标任务队列中未完成的监控任务的数量满足预设的第二条件时,说明此时目标任务队列中未完成的监控任务的数量较少,而目标任务队列对应的监控节点较多,那么,此时可以将目标任务队列对应的监控节点删除至少一个,以便其他任务队列满足预设的第一条件时,可以及时为其他任务队列增加至少一个监控节点,提高本申请方法的适用性。
综上,本申请实施例提供的集群监控的方法,可以根据每个任务队列中未完成的监控任务的数量,对集群监控系统中的监控节点的数量进行及时扩容或缩容,灵活性较强。
可选地,监控对象包括消息类型的监控对象和消费者类型的监控对象,上述将针对每个监控对象的监控任务分别分配至对应的任务队列中,包括:根据监控对象的类型将针对每个监控对象的监控任务分别分配至不同的任务队列中。
其中,消息类型的监控对象可以理解为集群中存储生产者客户端所发送消息的监控对象;消费者类型的监控对象可以理解为集群中为消费者客户端所消费的监控对象。可选地,以Kafka集群为例进行说明,Kafka集群中,消息类型的监控对象可以为topic对象,消费者类型的监控对象可以为consumer对象,当然,需要说明的是,根据不同的集群可以对应不同的监控对象类别。
在一些实施例中,考虑到不同类型的监控对象的实时信息的类别可能不同,为了便于目标任务队列对应的监控节点获取目标监控对象的实时信息,本申请中,可以根据监控对象的类型将针对每个监控对象的监控任务分别分配至不同的任务队列中。比如,消息类型的监控对象可以被分配至一任务队列中,消费者类型的监控对象可以被分配至另一任务队列中。
可选地,当目标监控对象为消息类型的监控对象时,目标监控对象的实时信息包括目标监控对象对应的消息流入目标集群的速率,和/或者,目标集群中目标监控对象对应的消息的消费速率;当目标监控对象为消费者类型的监控对象时,目标监控对象的实时信息包括目标集群中堆积消息的数量。
其中,不同类型的监控对象的实时信息可以不同,在一些实施例中,当目标监控对象为消息类型的监控对象时,那么该目标监控对象的实时信息可以包括:目标监控对象对应的消息流入目标集群的速率(bytes/s),和/或者,目标集群中目标监控对象对应的消息的消费速率(bytes/s)。当然,在一些实施例中,目标监控对象的实时信息也可以包括:每秒消息流入目标集群的条数,在此不作限定。在一些实施例中,当目标监控对象为消费者类型的监控对象时,那么该目标监控对象的实时信息可以包括:目标集群中堆积消息的数量,也即,目标集群中堆积消息的条数,当然,实际消息的类别并不以此为限。
可选地,上述将针对每个监控对象的监控任务分别分配至对应的任务队列中,包括:
根据监控对象的标识及对应的集群的标识,确定监控对象的监控任务待分配的任务队列。
可选地,集群的标识可以包括但不限于:集群名称、连接地址、端口号、用户名、登录密码等,监控对象的标识可以包括但不限于:监控对象的名称、编号等,在此不作限定。可选地,可以根据集群的标识和监控对象的标识,标识该监控对象的监控任务,并确定该监控对象的监控任务待分配的任务队列。
在一些实施例中,可参见下述的方法确定监控对象的监控任务待分配的任务队列,可选地,可以采用预设映射算法,将监控对象的监控任务映射至任务队列中。比如,可以采用hash环映射算法将监控对象的监控任务映射至任务队列中,在一些实施例中,采用hash环映射算法实现映射时,同一监控对象的监控任务在不同的时间点应当被映射至同一待分配的任务队列,但不以此为限。
可选地,上述方法还包括:将根据监控对象的标识及对应的集群的标识确定的字符串加入监控对象的监控任务对应的任务队列中。
在一些实施例中,可以将根据监控对象的标识及对应的集群的标识确定的字符串作为监控对象的监控任务的标识,并将该标识加入到监控对象的监控任务对应的任务队列中,也即,任务队列每个监控对象的监控任务的标识可以为根据监控对象的标识及对应的集群的标识所确定的字符串。当然,本申请在此并不限定字符串的具体生成方式,可选地,所确定的字符串可以包括预设的符号:比如,+、-等,在此不作限定,根据实际的应用场景可以有所不同。
基于该说明,可选地,对于各监控节点来说,各监控节点分别执行对应的任务队列中的各监控任务时,各监控节点可以对执行的各监控任务进行解析,通过解析以获取各监控任务对应的监控对象的标识及对应的集群的标识,进而根据所解析的内容,可以通过对应集群提供的接口获取监控对象的实时信息。
基于该说明,还可以理解的是,若不同类型的监控对象的监控任务的标识不同,那么根据监控对象的类型将针对每个监控对象的监控任务分别分配至不同的任务队列中,则可以避免统计任务队列中未完成的监控任务的数量出现误差。比如,不同类型的监控对象的监控任务分别以不同长度的字符串作为标识,则根据监控对象的类型将针对每个监控对象的监控任务分别分配至对应的任务队列中时,可以将各监控任务对应的标识存储在所分配的任务队列,可以理解的是,应用本申请实施例,实际统计过程中,若根据任务队列中已存储的字符串的长度和每种类型的监控对象的单个监控任务对应的字符串长度,统计任务队列中未完成的监控任务的数量,可以避免统计任务队列中未完成的监控任务的数量出现误差,提高本申请监控方法的准确性。
图6为本申请实施例提供的另一种集群监控的方法的流程示意图。可选地,如图6所示,上述方法还包括:
S601、当目标监控节点获取到目标监控对象的实时信息时,将实时信息发送至预设的数据接收器。
其中,对于目标监控节点来说,当目标监控节点获取到目标监控对象的实时信息时,那么可以将该实时信息发送至预设的数据接收器,可选地,该预设的数据接收器可以是集群监控系统中的数据接收器,又或者,可以是集群监控系统之外的数据接收器,在此不作限定。
在一些实施例中,预设的数据接收器为集群监控系统中的数据接收器时,可选地,目标监控节点可以通过集群监控系统请求获取预设的数据接收器的标识,进而可以根据所获取的预设的数据接收器的标识向该预设的数据接收器发送目标监控对象的实时信息。可选地,预设的数据接收器的标识可以包括但不限于:集群监控系统的名称、连接地址、端口号、数据接收器的编号等,在此不作限定,根据实际的应用场景可以有所不同。
在一些实施例中,每个监控节点也可以包括预设数量个子监控节点,并根据预设频率获取目标任务队列中目标监控任务对应的目标监控对象的实时信息,其中,具体获取时,目标监控任务的数量可以与子监控节点的数量相对应,也即预设数量个子监控节点可以获取预设数量个目标监控任务对应的目标监控对象的实时信息,实现批量获取。可选地,该预设频率可以是1s、5s、10s等任意时长的频率,预设数量可以是5、10、20等任意数量,在此不作限定。当然,具体设置方式并不以此为限,根据实际的应用场景可以灵活设置。
综上,本申请实施例提供了一种可应用于多集群的集群监控的方法,该方法可以实现对集群监控系统工作状态的自监控,将不同规模的集群的监控任务均衡分发,且能够在集群监控系统的性能达到瓶颈时,及时根据每个所述任务队列中未完成的监控任务的数量对所述集群监控系统中的所述监控节点进行调整增加,保证在指定时间周期内,完成对所有监控对象的监控;且当每个任务队列中未完成的监控任务的数量较少时,可以调整减少集群监控系统中的监控节点的数量,降低集群监控系统的开销,提高集群监控系统的监控性能,具有很好的扩展性。
下面结合具体的实施例介绍本申请的集群监控的方法,任务队列可以包括:topic1_redis队列、topic2_redis队列、consumer1_redis队列、consumer2_redis队列共4个redis队列,其中,集群监控系统可以为每个任务队列分别分配至少一个监控节点worker;目标集群为kafka集群,kafka集群下监控对象包括:topic和consumer,其中,以topic为例进行说明,topic可以包括topic1和topic2两个监控对象。
参见上述说明,可选地,对于监控对象topic1来说,topic1的监控任务task1可以以kafka集群的标识、topic1名称以及预设符号确定进行(比如:可以为kafka集群的标识+topic1名称进行命名),采用hash环映射算法可以将该监控任务task1映射至topic1_redis队列中,可以理解的是,此时topic1_redis队列将包括一个监控任务task1,监控过程中,以topic1_redis队列为目标任务队列为例进行说明,若为该topic1_redis队列分配了至少一个监控节点worker1,那么topic1_redis队列对应的监控节点worker1可以从该topic1_redis队列获取监控任务task1,并对该监控任务task1进行解析,获取监控任务task1对应的kafka集群的标识和topic1名称,通过kafka集群的标识对应的kafka集群的集群接口JMX获取监控对象topic1的实时信息,监控节点worker1获取到kafka集群发送的实时信息后,则可以向预设的数据接收器发送该实时信息,从而实现对kafka集群的监控。关于监控对象consumer的监控过程与上述监控对象topic的监控过程类似,本申请在此不再赘述。
需要说明的是,当目标任务队列满足预设的第一条件时,则为目标任务队列增加至少一个监控节点,所增加的监控节点可用于获取目标任务队列中未完成的监控任务对应的监控对象的实时信息,其获取过程与上述监控节点worker1的获取过程类似,本申请在此不再赘述。从上述举例可以看出,本申请实施例实现了若根据每个任务队列中未完成的监控任务的数量确定集群监控系统的监控性能达到瓶颈时,可以及时增加监控节点,保证目标任务队列中未完成的各监控任务可以及时被监控,提高监控效率、保证监控效果。
可选地,若预设采集频率是60s,则管理中心每60s就会将所有的监控对象通过hash环映射算法分配至对应的任务队列(topic1_redis队列、topic2_redis队列、consumer1_redis队列、consumer2_redis队列)中。
图7为本申请实施例提供的一种集群监控的装置的功能模块示意图,该集群监控的装置可以应用于集群监控系统,集群监控系统包括管理中心和至少一个监控节点,管理中心与至少一个监控节点分别通信连接,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图7所示,该集群监控的装置200可以包括:
分配模块210,用于获取当前集群中的监控对象,并将针对每个所述监控对象的监控任务分别分配至对应的任务队列中;
执行模块220,用于为每个所述任务队列分别分配至少一个监控节点,通过每个所述监控节点分别执行对应的任务队列中的监控任务;
分配模块210,还用于根据每个所述任务队列中未完成的监控任务的数量对集群监控系统中的所述监控节点进行调整。
在可选的实施方式中,所述执行模块220,具体用于所述监控节点中的目标监控节点获取对应的任务队列中的目标监控任务;
确定所述目标监控任务对应的目标监控对象及所述目标监控对象对应的目标集群;
通过所述目标集群提供的接口获取所述目标监控对象的实时信息;
若所述目标监控对象的实时信息获取成功,则确认所述目标监控任务完成。
在可选的实施方式中,所述执行模块220,具体用于根据目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第一条件;
当所述目标任务队列满足所述预设的第一条件时,则为所述目标任务队列增加至少一个监控节点。
在可选的实施方式中,所述预设的第一条件包括以下任一条件:
所述目标任务队列中未完成的监控任务的数量连续N次超过第一预设阈值;
在预设时长内所述目标任务队列中未完成的监控任务的数量超过第二预设阈值的次数达到第一预设次数;
所述目标任务队列中未完成的监控任务的数量超过第三预设阈值;
所述目标任务队列的长度连续M次超过第四预设阈值;
在预设时长内所述目标任务队列的长度超过第五预设阈值的次数达到第二预设次数;
所述目标任务队列中的长度超过第六预设阈值;
其中,所述目标任务队列的长度根据所述目标任务队列中未完成的监控任务的数量确定,所述N和M均为正整数。
图8为本申请实施例提供的另一种集群监控的装置的功能模块示意图。在可选的实施方式中,如图8所示,上述装置还包括:生成模块230,用于当所述目标任务队列满足预设的第一条件时,生成告警信息,所述告警信息包括所述目标任务队列的标识。
在可选的实施方式中,所述执行模块220,还用于根据所述目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第二条件;
当所述目标任务队列满足所述预设的第二条件,将所述目标任务队列对应的监控节点删除至少一个。
在可选的实施方式中,所述监控对象包括消息类型的监控对象和消费者类型的监控对象;所述执行模块220,具体用于根据所述监控对象的类型将针对每个所述监控对象的监控任务分别分配至不同的任务队列中。
在可选的实施方式中,当所述目标监控对象为消息类型的监控对象时,所述目标监控对象的实时信息包括所述目标监控对象对应的消息流入所述目标集群的速率,和/或者,所述目标集群中所述目标监控对象对应的消息的消费速率;
当所述目标监控对象为消费者类型的监控对象时,所述目标监控对象的实时信息包括所述目标集群中堆积消息的数量。
在可选的实施方式中,所述分配模块210,具体用于根据所述监控对象的标识及对应的集群的标识,确定所述监控对象的监控任务待分配的任务队列。
在可选的实施方式中,所述分配模块210,还用于将根据所述监控对象的标识及对应的集群的标识确定的字符串加入所述监控对象的监控任务对应的任务队列中。
在可选的实施方式中,所述执行模块220,还用于当所述目标监控节点获取到所述目标监控对象的实时信息时,将所述实时信息发送至预设的数据接收器。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种电子设备结构示意图。如图9所示,该电子设备可以包括:处理器510、存储介质520和总线530,存储介质520存储有处理器510可执行的机器可读指令,当电子设备运行时,处理器510与存储介质520之间通过总线530通信,处理器510执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种集群监控的方法,其特征在于,应用于集群监控系统,所述集群监控系统包括管理中心和至少一个监控节点,所述管理中心与所述至少一个监控节点分别通信连接,所述方法包括:
所述管理中心获取当前集群中的监控对象,并将针对每个所述监控对象的监控任务分别分配至对应的任务队列中;
为每个所述任务队列分别分配至少一个所述监控节点,通过每个所述监控节点分别执行对应的任务队列中的监控任务;所述管理中心根据每个所述任务队列中未完成的监控任务的数量对所述集群监控系统中的所述监控节点进行调整。
2.根据权利要求1所述的方法,其特征在于,所述通过每个所述监控节点分别对对应的任务队列中的监控任务进行执行,包括:
所述监控节点中的目标监控节点获取对应的任务队列中的目标监控任务;
确定所述目标监控任务对应的目标监控对象及所述目标监控对象对应的目标集群;
通过所述目标集群提供的接口获取所述目标监控对象的实时信息;
若所述目标监控对象的实时信息获取成功,则确认所述目标监控任务完成。
3.根据权利要求2所述的方法,其特征在于,所述管理中心根据每个所述任务队列中未完成的监控任务的数量对所述集群监控系统中的所述监控节点进行调整,包括:
根据目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第一条件;
当所述目标任务队列满足所述预设的第一条件时,则为所述目标任务队列增加至少一个监控节点。
4.根据权利要求3所述的方法,其特征在于,所述预设的第一条件包括以下任一条件:
所述目标任务队列中未完成的监控任务的数量连续N次超过第一预设阈值;
在预设时长内所述目标任务队列中未完成的监控任务的数量超过第二预设阈值的次数达到第一预设次数;
所述目标任务队列中未完成的监控任务的数量超过第三预设阈值;
所述目标任务队列的长度连续M次超过第四预设阈值;
在预设时长内所述目标任务队列的长度超过第五预设阈值的次数达到第二预设次数;
所述目标任务队列中的长度超过第六预设阈值;
其中,所述目标任务队列的长度根据所述目标任务队列中未完成的监控任务的数量确定,所述N和M均为正整数。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述目标任务队列满足预设的第一条件时,生成告警信息,所述告警信息包括所述目标任务队列的标识。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述目标任务队列中未完成的监控任务的数量确定所述目标任务队列是否满足预设的第二条件;
当所述目标任务队列满足所述预设的第二条件,将所述目标任务队列对应的监控节点删除至少一个。
7.根据权利要求2所述的方法,其特征在于,所述监控对象包括消息类型的监控对象和消费者类型的监控对象;
所述将针对每个所述监控对象的监控任务分别分配至对应的任务队列中,包括:根据所述监控对象的类型将针对每个所述监控对象的监控任务分别分配至不同的任务队列中。
8.根据权利要求7所述的方法,其特征在于,当所述目标监控对象为消息类型的监控对象时,所述目标监控对象的实时信息包括所述目标监控对象对应的消息流入所述目标集群的速率,和/或者,所述目标集群中所述目标监控对象对应的消息的消费速率;
当所述目标监控对象为消费者类型的监控对象时,所述目标监控对象的实时信息包括所述目标集群中堆积消息的数量。
9.根据权利要求1所述的方法,其特征在于,所述将针对每个所述监控对象的监控任务分别分配至对应的任务队列中,包括:
根据所述监控对象的标识及对应的集群的标识,确定所述监控对象的监控任务待分配的任务队列。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
将根据所述监控对象的标识及对应的集群的标识确定的字符串加入所述监控对象的监控任务对应的任务队列中。
11.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述目标监控节点获取到所述目标监控对象的实时信息时,将所述实时信息发送至预设的数据接收器。
12.一种集群监控的装置,其特征在于,所述装置包括:
分配模块,用于获取当前集群中的监控对象,并将针对每个所述监控对象的监控任务分别分配至对应的任务队列中;
执行模块,用于为每个所述任务队列分别分配至少一个监控节点,通过每个所述监控节点分别执行对应的任务队列中的监控任务;
所述分配模块,还用于根据每个所述任务队列中未完成的监控任务的数量对集群监控系统中的所述监控节点进行调整。
13.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-11任一所述集群监控的方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-11任一所述集群监控的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111107510.5A CN113806177A (zh) | 2021-09-22 | 2021-09-22 | 集群监控的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111107510.5A CN113806177A (zh) | 2021-09-22 | 2021-09-22 | 集群监控的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806177A true CN113806177A (zh) | 2021-12-17 |
Family
ID=78939878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111107510.5A Pending CN113806177A (zh) | 2021-09-22 | 2021-09-22 | 集群监控的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806177A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269308A (zh) * | 2022-06-29 | 2022-11-01 | 北京结慧科技有限公司 | 一种Kafka监控方法及系统、计算机设备及介质 |
CN116170346A (zh) * | 2022-12-27 | 2023-05-26 | 天翼云科技有限公司 | 一种监控方法、装置及电子设备 |
CN116501510A (zh) * | 2023-06-29 | 2023-07-28 | 恒生电子股份有限公司 | 数据处理方法、业务处理方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160188426A1 (en) * | 2014-12-31 | 2016-06-30 | International Business Machines Corporation | Scalable distributed data store |
CN106484530A (zh) * | 2016-09-05 | 2017-03-08 | 努比亚技术有限公司 | 一种分布式任务调度运维监控系统及方法 |
KR101727415B1 (ko) * | 2015-12-23 | 2017-05-02 | 서울시립대학교 산학협력단 | 클러스터 자원 관리가 가능한 빅데이터 시스템 및 자원 관리 방법 |
CN107025139A (zh) * | 2017-03-21 | 2017-08-08 | 北京天云融创软件技术有限公司 | 一种基于云计算的高性能计算调度框架 |
CN107734035A (zh) * | 2017-10-17 | 2018-02-23 | 华南理工大学 | 一种云计算环境下的虚拟集群自动伸缩方法 |
CN109067867A (zh) * | 2018-07-30 | 2018-12-21 | 北京航空航天大学 | 面向数据中心负载监控的虚拟化容器服务弹性伸缩方法 |
CN109656782A (zh) * | 2018-12-24 | 2019-04-19 | 成都四方伟业软件股份有限公司 | 可视化调度监控方法、装置及服务器 |
CN109766175A (zh) * | 2018-12-28 | 2019-05-17 | 深圳晶泰科技有限公司 | 面向高性能计算在云上的资源弹性伸缩系统及其调度方法 |
-
2021
- 2021-09-22 CN CN202111107510.5A patent/CN113806177A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160188426A1 (en) * | 2014-12-31 | 2016-06-30 | International Business Machines Corporation | Scalable distributed data store |
KR101727415B1 (ko) * | 2015-12-23 | 2017-05-02 | 서울시립대학교 산학협력단 | 클러스터 자원 관리가 가능한 빅데이터 시스템 및 자원 관리 방법 |
CN106484530A (zh) * | 2016-09-05 | 2017-03-08 | 努比亚技术有限公司 | 一种分布式任务调度运维监控系统及方法 |
CN107025139A (zh) * | 2017-03-21 | 2017-08-08 | 北京天云融创软件技术有限公司 | 一种基于云计算的高性能计算调度框架 |
CN107734035A (zh) * | 2017-10-17 | 2018-02-23 | 华南理工大学 | 一种云计算环境下的虚拟集群自动伸缩方法 |
CN109067867A (zh) * | 2018-07-30 | 2018-12-21 | 北京航空航天大学 | 面向数据中心负载监控的虚拟化容器服务弹性伸缩方法 |
CN109656782A (zh) * | 2018-12-24 | 2019-04-19 | 成都四方伟业软件股份有限公司 | 可视化调度监控方法、装置及服务器 |
CN109766175A (zh) * | 2018-12-28 | 2019-05-17 | 深圳晶泰科技有限公司 | 面向高性能计算在云上的资源弹性伸缩系统及其调度方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269308A (zh) * | 2022-06-29 | 2022-11-01 | 北京结慧科技有限公司 | 一种Kafka监控方法及系统、计算机设备及介质 |
CN116170346A (zh) * | 2022-12-27 | 2023-05-26 | 天翼云科技有限公司 | 一种监控方法、装置及电子设备 |
CN116501510A (zh) * | 2023-06-29 | 2023-07-28 | 恒生电子股份有限公司 | 数据处理方法、业务处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113806177A (zh) | 集群监控的方法、装置、电子设备及存储介质 | |
US20190373052A1 (en) | Aggregation of scalable network flow events | |
CN113037823B (zh) | 消息传递系统和方法 | |
WO2018133306A1 (zh) | 内容分发网络中的调度方法和设备 | |
Chaczko et al. | Availability and load balancing in cloud computing | |
US9208476B2 (en) | Counting and resetting broadcast system badge counters | |
US8316125B2 (en) | Methods and systems for automated migration of cloud processes to external clouds | |
WO2016115735A1 (en) | Processing high volume network data | |
Tran et al. | Eqs: An elastic and scalable message queue for the cloud | |
US8595322B2 (en) | Target subscription for a notification distribution system | |
WO2016118876A1 (en) | Messaging and processing high volume data | |
CN111614748B (zh) | 用于可扩展的对等匹配的设备及方法 | |
JP2014528126A (ja) | 複数のターゲットへのマルチソースプッシュ通知の分配 | |
CN110071965B (zh) | 一种基于云平台的数据中心管理系统 | |
CN112839067A (zh) | 一种数据同步方法及装置 | |
CN112052133A (zh) | 一种基于Kubernetes的业务系统监控方法和装置 | |
JP6067714B2 (ja) | イベントデータを取得するスケールアウトシステム | |
CN110659124A (zh) | 一种消息处理方法和装置 | |
CN103248636A (zh) | 离线下载的系统及方法 | |
CN110839061B (zh) | 数据分发方法、装置及存储介质 | |
CN106657195B (zh) | 任务处理方法和中继设备 | |
Zhang et al. | Efficient online surveillance video processing based on spark framework | |
CN111475315A (zh) | 服务器及订阅通知推送控制、执行方法 | |
US20080168136A1 (en) | Message Managing System, Message Managing Method and Recording Medium Storing Program for that Method Execution | |
CN113965538A (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 |