CN115269327A - 一种集群检测方法及装置 - Google Patents
一种集群检测方法及装置 Download PDFInfo
- Publication number
- CN115269327A CN115269327A CN202210900303.3A CN202210900303A CN115269327A CN 115269327 A CN115269327 A CN 115269327A CN 202210900303 A CN202210900303 A CN 202210900303A CN 115269327 A CN115269327 A CN 115269327A
- Authority
- CN
- China
- Prior art keywords
- cluster
- node
- index
- determining
- monitoring
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明实施例提供了一种集群检测方法及装置,该方法包括在检测到任一告警信息时,确定产生该告警信息的监控指标所属的第一节点,基于该监控指标对应的指标分值以及指标权重,确定第一节点的健康度,基于第一集群中各节点的健康度以及各节点的节点权重,确定该第一集群的健康度,若通过该第一集群的健康度确定该第一集群的运行状态不满足设定条件,则确定该第一集群不可用。如此,该方案通过依据各节点的实际指标分值以及实际指标权重针对集群中各节点的运行状况进行准确地量化,以此可以实现针对该集群的运行状况进行及时地检测,从而可以有助于运维人员能够及时直观地获知该集群的运行状况。
Description
技术领域
本发明实施例涉及大数据集群运维技术领域,尤其涉及一种集群检测方法及装置。
背景技术
随着移动互联网、物联网的快速发展,企业的业务也在不断发展,随之产生的业务数据也在不断增加。基于此,为了确保业务的正常运行,需要针对这些业务数据进行存储。其中,大数据集群以其具有存储海量数据、进行大数据计算等特点,在现阶段得到越来越广泛的应用。
然而,大数据集群每日作业数比较多,存储量比较大,在这种大规模高负载的运行情况下,大数据集群每天都会出现硬件故障,比如磁盘损坏等,或者,大数据组件的性能也可能会发生问题,比如出现主从节点切换、卡顿、宕机等,这些问题都可能对业务的运行造成严重影响。针对于此,在这种情况下,为了更好地能够支撑业务系统的稳定运行,如何及时检测大数据集群的运行状况,成为急需解决的一个问题。
综上,目前亟需一种集群检测方法,用以及时地检测集群的运行状况。
发明内容
本发明实施例提供了一种集群检测方法及装置,用以及时地检测集群的运行状况。
第一方面,本发明实施例提供了一种集群检测方法,包括:
在检测到任一告警信息时,确定产生所述告警信息的监控指标所属的第一节点;所述第一节点属于第一集群;
基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度;
基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度;
若通过所述第一集群的健康度确定所述第一集群的运行状态不满足设定条件,则确定所述第一集群不可用。
上述技术方案中,本发明中的技术方案通过依据明确的健康度评估规则进行评估某一集群中各节点的运行状况,并以此可评估出该集群的运行状况,如此,该方案可以及时清晰地可视化展示集群的运行状况。具体来说,在检测到任一告警信息时,即可确定产生该告警信息的监控指标所属的第一节点,该第一节点属于第一集群,并通过基于监控指标对应的指标分值以及指标权重,即可准确地计算出第一节点的健康度。其中,集群的健康度用于表征集群的运行状况。然后,通过基于该第一集群中各节点的健康度以及各节点的节点权重,即可准确地计算出该第一集群的健康度,并通过第一集群的健康度判断第一集群的运行状态是否满足设定条件,在第一集群的运行状态不满足设定条件时,确定第一集群不可用。如此,该方案通过针对集群中各节点的运行状况进行量化,以此可以实现针对该集群的运行状况进行量化,从而可以实现及时地检测集群的运行状况,并可以有助于运维人员能够及时直观地获知该集群的运行状况。
可选地,在确定产生所述告警信息的监控指标所属的第一节点之前,还包括:
接收来自监控设备的监控信息;
对所述监控信息进行检测,确定所述监控信息中是否携带有设定标识;所述设定标识用于指示所述监控信息为告警信息;
若是,则从所述监控信息中提取所述监控指标。
上述技术方案中,由于监控设备传输过来的监控信息并不一定是告警信息,因此需要针对监控信息进行识别,以此判断监控信息是否为告警信息。如此,通过针对监控信息进行检测,即可准确地判断监控信息是否为告警信息,如果监控信息是告警信息,则才从监控信息中提取监控指标,并针对该监控指标所属的组件进行健康度的计算。
可选地,通过下述方式确定所述监控指标对应的指标权重:
确定所述监控指标是否为所述第一节点的关键监控指标;
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第一权重;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第二权重;
通过下述方式确定所述监控指标对应的指标分值:
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第一分值;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第二分值。
上述技术方案中,为了能够更加准确地判断集群的运行状况,针对监控指标进行主次区分(即区分为关键监控指标和普通监控指标,或区分为主要监控指标和次要监控指标),并针对不同类型的指标设置不同的指标权重以及指标分值,比如,对于关键监控指标,为关键监控指标设置一个指标权重和一个指标分值,对于普通监控指标,为普通监控指标设置一个指标权重和一个指标分值。通常来说,关键监控指标对所属节点的影响较大,如果关键监控指标出现问题,则表示关键监控指标所属节点也会出现一定的问题。如此,通过基于监控指标对应的指标分值以及指标权重,即可准确地评估出监控指标所属节点的运行状况,从而可以准确地评估出节点所属集群的运行状况,并可以通过集群中各节点的运行状况能够及时准确地定位集群中出现的故障问题。
可选地,所述第二权重与所述第一权重的差值大于第一设定阈值;所述第一分值与所述第二分值的差值大于第二设定阈值。
上述技术方案中,由于关键监控指标(或主要监控指标)的正常与否对关键监控指标(或主要监控指标)所属节点的运行状况影响较大,通常来说,关键监控指标(或主要监控指标)出现异常,则表示关键监控指标(或主要监控指标)所属节点不可用,甚至表示节点所属集群不可用。因此,为了避免关键监控指标(或主要监控指标)对集群是否可用产生较大的影响,且为了使得集群是否可用的判断能够更加贴合实际状况,所以可以将关键监控指标(或主要监控指标)的指标权重设置的比普通监控指标(或次要监控指标)的指标权重低,同时可以将关键监控指标(或主要监控指标)的指标分值设置的比普通监控指标(或次要监控指标)的指标分值高。
可选地,基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度,包括:
若所述监控指标为所述第一节点的关键监控指标,则基于所述第一分值以及所述第一权重,确定所述第一节点的健康度;
若所述监控指标不为所述第一节点的关键监控指标,则基于所述第二分值以及所述第二权重,确定所述第一节点的健康度。
上述技术方案中,如果监控指标是第一节点的关键监控指标,则可以通过基于与关键监控指标匹配的第一分值以及第一权重进行计算第一节点的健康度;如果监控指标不是第一节点的关键监控指标,即非关键监控指标,则可以通过基于与非关键监控指标匹配的第二分值以及第二权重进行计算第一节点的健康度。如此,该方案通过针对不同类型的监控指标,采用不同的指标分值以及指标权重进行评估节点的健康度,可以更加准确地判断节点所属集群的运行状况,以此可以准确地判断节点所属集群是否可用,并可以有助于运维人员及时准确地定位集群中出现故障的故障原因。
可选地,基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度,包括:
根据所述第一集群中各节点的重要程度,确定所述各节点的节点权重;
通过所述各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度。
上述技术方案中,通过根据第一集群中各节点的重要程度,为各节点配置与重要程度相匹配的节点权重。在一种实施方式中,如果各节点的重要程度是相同的,则可以为各节点配置相同的节点权重。在另一种实施方式中,如果各节点的重要程度不相同,可以为各节点分别配置一个相应的节点权重,或者,比如各节点中有一个或多个主节点,其它都是从节点,主节点的重要程度高于从节点的重要程度,那么可以为一个或多个主节点配置同一节点权重,或者可以为一个或多个主节点配置不同节点权重。以及,可以为其它从节点配置同一节点权重,该同一节点权重不同于主节点的节点权重,也可以为其它从节点分别配置不同权重,该不同节点权重不同于主节点的节点权重。其中,为了能够更加准确地判断第一集群是否可用,且为了避免主节点对判断第一集群是否可用产生较大的影响,可以将为主节点设置的节点权重低于为从节点设置的节点权重。然后,可以通过各节点的健康度以及各节点的节点权重,即可准确地计算出第一集群的健康度,从而可以为运维人员及时地获知第一集群的运行状况提供有效地数据支持。
可选地,通过下述方式确定所述第一集群的运行状态:
若所述第一集群的健康度位于第一健康度范围内,则确定所述第一集群处于非健康运行状态;
若所述第一集群的健康度位于第二健康度范围内,则确定所述第一集群处于亚健康运行状态;
若所述第一集群的健康度位于第三健康度范围内,则确定所述第一集群处于健康运行状态。
上述技术方案中,通过设置三个等级的运行状态,即非健康运行状态、亚健康运行状态以及健康运行状态,并针对每个等级的运行状态设置一个健康度范围。因此,只要计算出的某一集群的健康度位于某一健康度范围,即可准确地该集群的运行状态为该健康度范围对应的等级运行状态,如此可以实现及时准确地获知集群的运行状况,从而可以便于运维人员能够及时直观地感知集群的运行状况。
可选地,在确定所述第一集群的健康度之后,还包括:
确定是否存在调用所述第一集群的第二集群;
若是,则基于所述第一集群的健康度以及所述第一集群的集群权重,确定所述第二集群的健康度。
上述技术方案中,为了评估量化具有调用关系或关联关系的各集群的运行状况,可以针对与某一集群(比如第一集群)存在调用关系或关联关系的一个或多个集群的运行状况进行评估量化。具体地,首先,需要判断是否存在调用第一集群的第二集群,比如可以通过第一集群所在的调用链路进行判断,或者可以通过第一集群的依赖拓扑关系进行判断。在存在调用第一集群的第二集群时,可以通过基于第一集群的健康度以及第一集群的集群权重,即可准确地计算第二集群的健康度。其中,第一集群的集群权重可以根据第一集群的重要程度或者可以根据第一集群的服务贡献度进行确定。
第二方面,本发明实施例还提供了一种集群检测装置,包括:
检测单元,用于在检测到任一告警信息时,确定产生所述告警信息的监控指标所属的第一节点;所述第一节点属于第一集群;
处理单元,用于基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度;基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度;若通过所述第一集群的健康度确定所述第一集群的运行状态不满足设定条件,则确定所述第一集群不可用。
可选地,所述检测单元还用于:
在确定产生所述告警信息的监控指标所属的第一节点之前,接收来自监控设备的监控信息;
对所述监控信息进行检测,确定所述监控信息中是否携带有设定标识;所述设定标识用于指示所述监控信息为告警信息;
若是,则从所述监控信息中提取所述监控指标。
可选地,所述处理单元具体用于:
确定所述监控指标是否为所述第一节点的关键监控指标;
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第一权重;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第二权重;
所述处理单元具体用于:
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第一分值;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第二分值。
可选地,所述第二权重与所述第一权重的差值大于第一设定阈值;所述第一分值与所述第二分值的差值大于第二设定阈值。
可选地,所述处理单元具体用于:
若所述监控指标为所述第一节点的关键监控指标,则基于所述第一分值以及所述第一权重,确定所述第一节点的健康度;
若所述监控指标不为所述第一节点的关键监控指标,则基于所述第二分值以及所述第二权重,确定所述第一节点的健康度。
可选地,所述处理单元具体用于:
根据所述第一集群中各节点的重要程度,确定所述各节点的节点权重;
通过所述各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度。
可选地,所述处理单元具体用于:
若所述第一集群的健康度位于第一健康度范围内,则确定所述第一集群处于非健康运行状态;
若所述第一集群的健康度位于第二健康度范围内,则确定所述第一集群处于亚健康运行状态;
若所述第一集群的健康度位于第三健康度范围内,则确定所述第一集群处于健康运行状态。
可选地,所述处理单元还用于:
在确定所述第一集群的健康度之后,确定是否存在调用所述第一集群的第二集群;
若是,则基于所述第一集群的健康度以及所述第一集群的集群权重,确定所述第二集群的健康度。
第三方面,本发明实施例提供一种计算设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面任意所述的集群检测方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述第一方面任意所述的集群检测方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可能的系统架构示意图;
图2为本发明实施例提供的一种集群检测方法的流程示意图;
图3为本发明实施例提供的一种集群的组成层次结构示意图;
图4为本发明实施例提供的一种集群检测装置的结构示意图;
图5为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了便于理解本发明实施例,首先以图1中示出的一种可能的系统架构为例说明适用于本发明实施例的集群检测系统架构。如图1所示,该系统架构可以包括告警设备100和监控设备200。其中,告警设备100和监控设备200之间可以进行通信连接,比如,可以通过有线网络方式连接,或者可以通过无线网络方式连接,本发明实施例对此并不作限定。
其中,监控设备200用于针对集群中各节点的监控指标进行监控,并可以针对集群中各节点的监控指标的相关指标数据进行采集,比如某一监控指标的指标值是否高于对应的指标阈值。告警设备100可以用于接收从监控设备200传输过来的监控信息,并针对监控信息进行识别,判断监控信息是否为告警信息。在判断监控信息为告警信息后,可以调用服务质量评分模块接口对产生告警信息的相关节点以及相关集群进行运行状况的评估,或者可以调用评分配置文件(评分配置文件中配置有评分算法、评分算法所需评分参数等)对产生告警信息的相关节点以及相关集群进行运行状况的评估,以此可以得到相关节点的健康度以及相关集群的健康度。
需要说明的是,上述图1所示的架构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种集群检测方法的流程,该流程可以由集群检测装置执行。其中,集群检测方法可以应用于图1所示的系统架构中,可以由图1中的告警设备执行集群检测方法。其中,集群检测装置可以是告警设备或者也可以是能够支持告警设备实现该方法所需的功能的部件(比如芯片或集成电路)等,当然也可以是其它具有实现该方法所需的功能的电子设备。
如图2所示,该流程具体包括:
步骤201,在检测到任一告警信息时,确定产生所述告警信息的监控指标所属的第一节点。
本发明实施例中,该第一节点属于第一集群。可选的,以告警设备执行集群检测方法为例,告警设备在通过接收到的告警信息判断某一监控指标出现告警时,即可通过该监控指标对应的节点标识确定该监控指标所属的第一节点。其中,可以预先提前建立好各监控指标与节点标识的映射关系,或者可以预先在监控指标上设定相应的节点标识。
此外,由于监控设备传输给告警设备的监控信息并不一定是告警信息,因此在告警设备接收到来自监控设备的某一监控信息时,需要针对该监控信息进行检测,确定该监控信息中是否携带有设定标识,该设定标识用于指示监控信息为告警信息。如果该监控信息携带有设定标识,则可以确定该监控信息为告警信息,此时需要从监控信息中提取监控指标,并确定该监控指标所属的节点,以及进行后续评估节点或集群的运行状况的处理。如果该监控信息未携带有设定标识,则可以确定该监控信息不是告警信息,此时告警设备无需针对该监控信息进行用于评估节点或集群的运行状况的后续处理。例如,告警设备在接收到来自监控设备的监控信息后,可以提取触发器名称特征,判断触发器名称特征有固定前缀“qos_”时,即可确定该监控信息为告警信息。然后,针对每个告警信息,告警设备可以按照设定的格式转化规则将告警信息的数据格式转化为服务质量评分模块接口所匹配的数据格式(比如json格式或xml格式等),并调用服务质量评分模块接口。服务质量调用评分模块在接收到格式转化后的告警信息后,可以开始对产生告警信息的相关节点或集群进行运行状况的评估量化。示例性地,告警设备可以配置一个监控信息记录表(或称为监控事件记录表)qos_event,该监控信息记录表qos_event用于记录从监控设备传输过来的监控信息(或称为监控事件)。其中,该监控信息记录表qos_event中有字段qos_event_id(事件标识)、trigger_id(触发器标识)、qos_index_id、qos_event_message、trigger_status(触发器状态)、trigger_severity、trigger_name(触发器名称)、item_value、event_ipaddress等。比如,调用服务质量评分模块在接收到格式转化后的告警信息后,可以针对格式转化后的告警信息进行解析,将解析后的结果按照不同的字段写入至监控信息记录表qos_event中。在写入至监控信息记录表qos_event中后,根据解析出的qos_index_id和trigger_id,找到对应的qos_index项,并对其得分进行进一步操作。同时,还配置有qos_index表和qos_index_relationship表。其中,qos_index表中有字段qos_index_id、name、type、qos_event_id、qos_point double、weight_total等,qos_index_relationship表中有字段qos_index_relationship_id、father_index_id、son_index_id、weights等。qos_index表和qos_index_relationship表共同维护了qos项的相互关联关系,构成了一张有向无环图,在计算得分的时候,可以方便地使用之前的算法进行链式递归和实时更新。以及,还配置有qos_trigger表、qos_template_trigger表、qos_template表。其中,qos_trigger表中有字段qos_trigger_id、zabbix_trigger_id、description、expression、priority等,qos_template_trigger表有字段qos_template_trigger_id、name、expression、template_id、description、priority等,qos_template表中有字段qos_template_id、name、note等。qos_trigger表、qos_template_trigger表、qos_template表主要用于qos部署和配置,用户可以通过配置模板,批量地将健康度打分模块需要的触发器和条件应用到集群上,可以快速地完成服务质量评分模块的初始化上线。也可以利用模板和触发器的关联性,通过修改模板的方式对触发器的阈值、权重以及是否关键指标等进行批量调整和修改,方便用户的配置。
其中,在具体实现上,节点或集群的健康度评估是通过健康度实时服务质量评估系统来完成的。其中,健康度实时服务质量评估系统的QosService接口和实现类负责接口,用于提供对外API(Application Program Interface,应用程序接口)接入。健康度实时服务质量评估系统的逻辑层是交给CMDBDataService(配置管理服务)、QosEventService(健康度事件服务)、RedisService(缓存层服务)、QosWebSocketService(实时看板服务)、QosTemplateService(健康度模板管理服务)、QosIndexService(得分计算服务)等具体的逻辑实现类来处理,各自负责配置中心接入、健康度事件逻辑处理、缓存层逻辑处理、实时看板服务、健康度模板管理相关服务、得分计算和实时更新等服务。健康度实时服务质量评估系统的控制展示层则是由一些controller类来负责,负责具体的得分数据展示、模板管理展示、看板渲染等工作。健康度实时服务质量评估系统的数据层则是将数据库模型抽象成简单java对象,方便与数据库操作交互,包括监控对象、阈值规则对象、模板对象以及健康度节点对象等。
步骤202,基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度。
步骤203,基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度。
本发明实施例中,如果监控指标是第一节点的关键监控指标,则可以通过基于与关键监控指标匹配的第一分值以及第一权重进行计算第一节点的健康度;如果监控指标不是第一节点的关键监控指标,则可以通过基于与关键监控指标匹配的第二分值以及第二权重进行计算第一节点的健康度。其中,在计算第一节点的健康度时,除了考虑触发告警的监控指标,也会考虑该第一节点的其它监控指标,也即是,通过该第一节点具有的各监控指标的指标分值以及该各监控指标的指标权重,计算该第一节点的健康度。如此,该方案通过针对不同类型的监控指标,采用不同的指标分值以及指标权重进行评估节点的健康度,可以更加准确地判断节点所属集群的运行状况,以此可以准确地判断节点所属集群是否可用。然后,可以根据集群中各节点的优先级,确定各节点的节点权重,比如,如果各节点的优先级不相同,则可以按照节点优先级的高低,进行配置各节点的节点权重,或者如果各节点的优先级相同,则可以为各节点配置相同的节点权重。或者可以根据集群中各节点的重要程度,确定各节点的节点权重,比如,如果各节点的重要程度是相同的,则可以为各节点配置相同的节点权重,或者,如果各节点的重要程度不相同,则可以为各节点分别配置一个相应的节点权重。在计算出集群中各节点的健康度之后,就可以通过各节点的健康度以及对应的各节点的节点权重,进行计算集群的健康度。比如集群有三个节点,节点1、节点2和节点3,节点1的节点权重为权重1,节点2的节点权重为权重2,节点3的节点权重为权重3,那么集群的健康度为节点1的健康度*权重1+节点2的健康度*权重2+节点3的健康度*权重3。
在计算出某一集群的健康度之后,为了也能够针对与该集群存在调用关系或关联关系的一个或多个集群的运行状况进行评估量化。首先需要判断是否存在调用第一集群的第二集群,比如可以通过第一集群所在的调用链路进行判断,或者可以通过第一集群的依赖拓扑关系进行判断。在存在调用第一集群的第二集群时,可以通过基于第一集群的健康度以及第一集群的集群权重,即可准确地计算第二集群的健康度。也即是,通过第二群所调用的一个或多个集群的健康度以及该一个或多个集群的集群权重,进行计算第二集群的健康度。其中,多个集群的集群权重可以根据多个集群的优先级或重要程度进行配置,本发明实施例对此并不作限定。
再者,在计算出某一集群(比如集群1)的健康度之后,如果判断该集群1是为某一个集群(比如集群a)的子集群,那么,可以针对该集群a的健康度进行评估,即,通过该集群a所包含的各子集群的健康度以及各子群的集群权重进行计算集群a的健康度。
其中,可以通过下述方式确定监控指标对应的指标权重:首先可以确定监控指标是否为第一节点的关键监控指标。如果监控指标为第一节点的关键监控指标,则可以确定监控指标对应的指标权重为第一权重;如果监控指标不为第一节点的关键监控指标,则可以确定监控指标对应的指标权重为第二权重。以及,在监控指标为第一节点的关键监控指标时,可以确定监控指标对应的指标分值为第一分值,在监控指标不为第一节点的关键监控指标时,可以确定监控指标对应的指标分值为第二分值。如此,通过针对不同类型的指标设置不同的指标权重以及指标分值,能够更加准确地评估节点或集群的运行状况,使得节点或集群的运行状况的判断更加符合实际状况。
此外,需要说明的是,由于关键监控指标的正常与否对关键监控指标所属节点的运行状况影响较大,通常来说,关键监控指标出现异常,则表示关键监控指标所属节点不可用,甚至表示节点所属集群不可用。因此,为了避免关键监控指标对集群是否可用产生较大的影响,且为了使得集群是否可用的判断能够更加贴合实际状况,所以可以将关键监控指标的指标权重设置的比普通监控指标的指标权重低,即第二权重与第一权重的差值大于第一设定阈值。同时可以将关键监控指标的指标分值设置的比普通监控指标的指标分值高,即第一分值与第二分值的差值大于第二设定阈值。其中,第一设定阈值或第二设定阈值可以根据本领域技术人员的经验或可以根据多次实验所得结果或可以根据实际应用场景进行设置,本发明实施例对此并不作限定。
示例性地,参见图3,为本发明实施例提供的一种集群的组成层次结构示意图。基于图3,需要说明的是,可以将一个集群的组成层次分级为集群级别、节点级别、监控指标级别,即集群→节点→监控指标,形成一个树状结构。其中,树中的叶子节点为实时监控的监控指标,如果监控指标有异常,则可以针对该叶子节点进行扣分,并逐级聚合到节点、集群,从而得出集群的运行状况。其中,叶子节点是指监控指标级别的监控指标,来源于监控设备采集的监控指标的相关数据,一旦某个监控指标出现告警问题的时候,告警设备会调用集群服务质量评分模块扣除该叶子节点的全部得分。比如默认得分都为100。此外,针对集群级别、节点级别、监控指标级别,每个级别都有自己的相对权重,且下一级别的得分值是上一级别的得分值的来源。
基于图3,针对某一集群,比如集群1,假设该集群1有两个节点,即节点a和节点b,并假设节点a和节点b的重要程度相同。其中,针对每个节点,设置有3个监控指标,比如针对节点a,有监控指标1、监控指标2、监控指标3,针对节点b,有监控指标4、监控指标5、监控指标6。其中,监控指标1、监控指标4为主要指标,主要指标的正常与否对于集群是否可用的影响较大,监控指标2、监控指标3、监控指标5、监控指标6为次要指标,次要指标可以作为一般性的测评标准。需要说明的是,主要指标是指该监控指标对上一级别的评分有决定性作用,如果主要指标的监控数据出现异常,则对应的上一级别的得分就比较低,比如HDFS(HadoopDistributed File System,分布式文件系统)的主节点namenode挂掉,则HDFS的得分就比较低。而且,在具体实施过程中,为了避免主要指标对集群是否可用产生较大的影响,且为了使得集群是否可用的判断能够更加贴合实际状况,可以将主要指标的指标权重设置的很低,比如设置为0.1%,但是会将主要指标出现异常时对应的扣分值设置的比较高,比如设置为9999999,将主要指标没有出现异常时对应的扣分值设置的比较低,比如设置为0。这样一旦主要指标出异常,则对应的上一级别的得分就是一个很大的负数值。由于得分最低为0,所以针对负数值进行归零处理。对于次要指标,针对次要指标的指标权重设置的比较高,比如设置为50%,针对次要指标在出现异常时对应的扣分值设置的相对低一些,比如设置为100,针对次要指标没有出现异常时对应的扣分值设置的比较低,比如设置为0。其中,对于每个节点的每个监控指标进行评分,状态正常的不扣分,状态异常的则扣去监控指标的分数。最后加权计算,按照树状结构的层次逐级收敛,从而计算出集群1的得分(即集群1的健康度)。示例性地,以集群1中节点a的主要指标(监控指标1)出现异常为例进行描述,那么对于集群1的得分的计算可以见表1。其中,监控指标1出现异常,则监控指标1的扣分值为9999999,也即是节点a的得分为-9999999*0.1%+100*50%+100*50%=-9899,且由于得分最低为0,所以针对进行归零处理。
表1
其中,对于节点b,由于节点b的主要指标、次要指标均未出现异常,则监控指标4、监控指标5、监控指标6的扣分值均为0,所以可以计算节点b的得分=100*0.1%+100*50%+100*50%=100。其中,由于节点a和节点b的重要程度相同,则可以设置节点a的节点权重和节点b的节点权重均为50%。然后,计算集群1的得分=0*50%+100*50%=50。
步骤204,若通过所述第一集群的健康度确定所述第一集群的运行状态不满足设定条件,则确定所述第一集群不可用。
本发明实施例中,在计算出第一集群的健康度之后,可以通过第一集群的健康度判断第一集群处于哪种运行状态,也即是判断第一集群的运行状况。可选的,如果第一集群的健康度位于第一健康度范围内,则可以确定第一集群处于非健康运行状态,也即是表明第一集群处于异常状态,运行不正常,那么也就可以判断第一集群不可用。如果第一集群的健康度位于第二健康度范围内,则可以确定第一集群处于亚健康运行状态,也即是表明第一集群已经出现了一定问题,此时需要针对第一集群进行进一步观察,或者需要针对第一集群进行问题排查定位,比如,由于大数据集群通常节点众多,同时又有多个分布式组件联合对外提供分布式的存储和计算服务,包括hdfs、yarn、zookeeper、hive、spark、hbase等。比如hbase依赖于hdfs和zookeeper,hdfs又包括namenode和datanode。当其中一个组件的实例出现服务故障,那么对链路上相关的集群组件都会产生不同程度的影响。此时可以通过依赖集群中节点间的调用关系或节点与组件间的调用关系或节点间的依赖关系等,进行逐级追溯定位问题,可以辅助运维人员及时有效地定位出故障问题。如果第一集群的健康度位于第三健康度范围内,则可以确定第一集群处于健康运行状态,也即是表明第一集群的运行是正常的,能够正常的提供相关服务。示例性地,健康度范围[0,60)表示集群处于非健康度运行状态,健康度范围[60,95)表示集群处于亚健康运行状态,健康度范围[95,100]表示集群处于健康运行状态。
上述实施例表明,本发明中的技术方案通过依据明确的健康度评估规则进行评估某一集群中各节点的运行状况,并以此可评估出该集群的运行状况,如此,该方案可以及时清晰地可视化展示集群的运行状况。具体来说,在检测到任一告警信息时,即可确定产生该告警信息的监控指标所属的第一节点,该第一节点属于第一集群,并通过基于监控指标对应的指标分值以及指标权重,即可准确地计算出第一节点的健康度。其中,集群的健康度用于表征集群的运行状况。然后,通过基于该第一集群中各节点的健康度以及各节点的节点权重,即可准确地计算出该第一集群的健康度,并通过第一集群的健康度判断第一集群的运行状态是否满足设定条件,在第一集群的运行状态不满足设定条件时,确定第一集群不可用。如此,该方案通过针对集群中各节点的运行状况进行量化,以此可以实现针对该集群的运行状况进行量化,从而可以实现及时地检测集群的运行状况,并可以有助于运维人员能够及时直观地获知该集群的运行状况。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种集群检测装置,该装置可以执行集群检测方法的流程。其中,集群检测装置可以是告警设备或者也可以是能够支持告警设备实现该方法所需的功能的部件(比如芯片或集成电路)等,当然也可以是其它具有实现该方法所需的功能的电子设备。
如图4所示,该装置包括:
检测单元401,用于在检测到任一告警信息时,确定产生所述告警信息的监控指标所属的第一节点;所述第一节点属于第一集群;
处理单元402,用于基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度;基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度;若通过所述第一集群的健康度确定所述第一集群的运行状态不满足设定条件,则确定所述第一集群不可用。
可选地,所述检测单元401还用于:
在确定产生所述告警信息的监控指标所属的第一节点之前,接收来自监控设备的监控信息;
对所述监控信息进行检测,确定所述监控信息中是否携带有设定标识;所述设定标识用于指示所述监控信息为告警信息;
若是,则从所述监控信息中提取所述监控指标。
可选地,所述处理单元402具体用于:
确定所述监控指标是否为所述第一节点的关键监控指标;
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第一权重;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第二权重;
所述处理单元402具体用于:
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第一分值;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第二分值。
可选地,所述第二权重与所述第一权重的差值大于第一设定阈值;所述第一分值与所述第二分值的差值大于第二设定阈值。
可选地,所述处理单元402具体用于:
若所述监控指标为所述第一节点的关键监控指标,则基于所述第一分值以及所述第一权重,确定所述第一节点的健康度;
若所述监控指标不为所述第一节点的关键监控指标,则基于所述第二分值以及所述第二权重,确定所述第一节点的健康度。
可选地,所述处理单元402具体用于:
根据所述第一集群中各节点的重要程度,确定所述各节点的节点权重;
通过所述各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度。
可选地,所述处理单元402具体用于:
若所述第一集群的健康度位于第一健康度范围内,则确定所述第一集群处于非健康运行状态;
若所述第一集群的健康度位于第二健康度范围内,则确定所述第一集群处于亚健康运行状态;
若所述第一集群的健康度位于第三健康度范围内,则确定所述第一集群处于健康运行状态。
可选地,所述处理单元402还用于:
在确定所述第一集群的健康度之后,确定是否存在调用所述第一集群的第二集群;
若是,则基于所述第一集群的健康度以及所述第一集群的集群权重,确定所述第二集群的健康度。
基于相同的技术构思,本发明实施例还提供了一种计算设备,如图5所示,包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本发明实施例中不限定处理器501与存储器502之间的具体连接介质,图5中处理器501和存储器502之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的集群检测方法中所包括的步骤。
其中,处理器501是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,从而实现数据处理。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合集群检测方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述集群检测方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种集群检测方法,其特征在于,包括:
在检测到任一告警信息时,确定产生所述告警信息的监控指标所属的第一节点;所述第一节点属于第一集群;
基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度;
基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度;
若通过所述第一集群的健康度确定所述第一集群的运行状态不满足设定条件,则确定所述第一集群不可用。
2.如权利要求1所述的方法,其特征在于,在确定产生所述告警信息的监控指标所属的第一节点之前,还包括:
接收来自监控设备的监控信息;
对所述监控信息进行检测,确定所述监控信息中是否携带有设定标识;所述设定标识用于指示所述监控信息为告警信息;
若是,则从所述监控信息中提取所述监控指标。
3.如权利要求1所述的方法,其特征在于,通过下述方式确定所述监控指标对应的指标权重:
确定所述监控指标是否为所述第一节点的关键监控指标;
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第一权重;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标权重为第二权重;
通过下述方式确定所述监控指标对应的指标分值:
若所述监控指标为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第一分值;
若所述监控指标不为所述第一节点的关键监控指标,则确定所述监控指标对应的指标分值为第二分值。
4.如权利要求3所述的方法,其特征在于,所述第二权重与所述第一权重的差值大于第一设定阈值;所述第一分值与所述第二分值的差值大于第二设定阈值。
5.如权利要求3所述的方法,其特征在于,基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度,包括:
若所述监控指标为所述第一节点的关键监控指标,则基于所述第一分值以及所述第一权重,确定所述第一节点的健康度;
若所述监控指标不为所述第一节点的关键监控指标,则基于所述第二分值以及所述第二权重,确定所述第一节点的健康度。
6.如权利要求1至5任一项所述的方法,其特征在于,基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度,包括:
根据所述第一集群中各节点的重要程度,确定所述各节点的节点权重;
通过所述各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度。
7.如权利要求1所述的方法,其特征在于,通过下述方式确定所述第一集群的运行状态:
若所述第一集群的健康度位于第一健康度范围内,则确定所述第一集群处于非健康运行状态;
若所述第一集群的健康度位于第二健康度范围内,则确定所述第一集群处于亚健康运行状态;
若所述第一集群的健康度位于第三健康度范围内,则确定所述第一集群处于健康运行状态。
8.如权利要求1所述的方法,其特征在于,在确定所述第一集群的健康度之后,还包括:
确定是否存在调用所述第一集群的第二集群;
若是,则基于所述第一集群的健康度以及所述第一集群的集群权重,确定所述第二集群的健康度。
9.一种集群检测装置,其特征在于,包括:
检测单元,用于在检测到任一告警信息时,确定产生所述告警信息的监控指标所属的第一节点;所述第一节点属于第一集群;
处理单元,用于基于所述监控指标对应的指标分值以及指标权重,确定所述第一节点的健康度;基于所述第一集群中各节点的健康度以及所述各节点的节点权重,确定所述第一集群的健康度;若通过所述第一集群的健康度确定所述第一集群的运行状态不满足设定条件,则确定所述第一集群不可用。
10.一种计算设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900303.3A CN115269327A (zh) | 2022-07-28 | 2022-07-28 | 一种集群检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900303.3A CN115269327A (zh) | 2022-07-28 | 2022-07-28 | 一种集群检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269327A true CN115269327A (zh) | 2022-11-01 |
Family
ID=83770833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210900303.3A Pending CN115269327A (zh) | 2022-07-28 | 2022-07-28 | 一种集群检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269327A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312091A (zh) * | 2023-10-20 | 2023-12-29 | 速度科技股份有限公司 | 一种基于数据分析的平台端智能监控系统 |
-
2022
- 2022-07-28 CN CN202210900303.3A patent/CN115269327A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312091A (zh) * | 2023-10-20 | 2023-12-29 | 速度科技股份有限公司 | 一种基于数据分析的平台端智能监控系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102522005B1 (ko) | 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법 | |
US8448025B2 (en) | Fault analysis apparatus, fault analysis method, and recording medium | |
WO2018233170A1 (zh) | 日志记录方法、装置、计算机设备及存储介质 | |
CN112702184A (zh) | 故障预警方法及装置、计算机可存储介质 | |
CN112799923A (zh) | 系统异常原因确定方法、装置、设备及存储介质 | |
CN106603299B (zh) | 一种服务健康指数的生成方法及装置 | |
CN105677572A (zh) | 基于自组织映射模型云软件性能异常错误诊断方法与系统 | |
CN112380089A (zh) | 一种数据中心监控预警方法及系统 | |
CN111949429A (zh) | 基于密度聚类算法的服务器故障监测方法及系统 | |
CN106021054A (zh) | 一种对bmc升降级稳定性进行测试的方法及装置 | |
CN110674034A (zh) | 一种健康检查方法、装置及电子设备和存储介质 | |
JPWO2013088565A1 (ja) | 検知装置、検知プログラムおよび検知方法 | |
US20220107858A1 (en) | Methods and systems for multi-resource outage detection for a system of networked computing devices and root cause identification | |
CN115269327A (zh) | 一种集群检测方法及装置 | |
CN106911519A (zh) | 一种数据采集监控方法及装置 | |
CN110674149B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN113342608B (zh) | 流式计算引擎任务的监控方法及装置 | |
CN112769615B (zh) | 一种异常分析方法及装置 | |
CN117155772A (zh) | 一种告警信息丰富方法、装置、设备及存储介质 | |
CN112068979A (zh) | 一种业务故障确定方法及装置 | |
CN114327988B (zh) | 一种可视化网络故障关系确定方法和装置 | |
CN110704313A (zh) | Java虚拟机内存泄漏检测方法及装置 | |
CN114727100B (zh) | 一种监控设备的联合调试方法及装置 | |
CN105868079A (zh) | 一种基于内存使用传播分析的Java内存低效使用检测方法 | |
CN115150253A (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 |