一种集群节点健康状态预警方法及系统与流程

文档序号:11205890阅读:373来源:国知局
一种集群节点健康状态预警方法及系统与流程

本申请涉及集群技术领域,特别涉及一种集群节点健康状态预警方法及系统。



背景技术:

随着信息技术的发展,集群技术作为一项新型技术已经在天气预报、核试验模拟等计算密集型应用中大显身手,它不仅可以大幅度提高系统计算性能,还可以增强系统的可靠性。

集群具体是指一组相互独立的、通过高速网络互联的计算机等服务实体,集群中的每一个服务实体都是一个节点,这些节点组成一个组统一对外提供服务,具有高于单一服务实体的扩展性、可用性。

由于集群一般包含多个节点,因此有必要对集群中每个节点的健康状态进行监控并设置预警机制,用以在预警事件发生时提醒管理员。

现有技术中提供了一种集群节点健康状态预警的方法。该方法在集群中的每个节点上部署监控模块和预警模块,监控模块用于收集其所在节点的健康状态数据,以便预警模块对该节点的健康状态数据进行分析处理,当判断预警事件发生时,预警模块则生成预警事件,向管理员进行提示。

然而,由于现有技术中在集群中的每一个节点中均部署了预警模块,因此,采用现有技术提供的技术方案将无法避免部署工作繁琐的缺点。此外,由于集群中每一个节点均部署有预警模块,因此,当应用系统须要对节点健康状态的预警机制进行修改时,则须要逐一对各个节点中预警配置文件的相关数据进行修改,同样十分繁琐。



技术实现要素:

本申请的目的在于提供一种集群节点健康状态预警方法及系统,在实现对集群节点健康状态预警的基础上,可以有效地简化对预警模块的部署工作和预警配置文件的修改工作。

为解决上述技术问题,本申请提供一种集群节点健康状态预警方法,包括:

各个节点的监控模块获取本节点的健康状态数据;

监控管理模块获取所述各个节点的所述健康状态数据,并将所述健康状态数据和其节点标识发送给预警模块;所述监控管理模块和所述预警模块部署在管理节点上;

所述预警模块判断所述健康状态数据是否符合预警配置文件中的预设条件;若否,则判定所述节点标识对应的节点发生预警事件;并将所述预警事件加入预警通知队列,进行预警通知。

可选地,所述各个节点的监控模块获取本节点的健康状态数据包括:

所述各个节点的所述监控模块获取本节点的硬件信息和性能指标;

所述预警模块判断所述健康状态数据是否符合预警配置文件中的预设条件包括:

所述预警模块判断所述硬件信息是否符合所述预警配置文件中设定的状态值;所述预警模块判断所述性能指标是否符合所述预警配置文件中设定的阈值范围。

可选地,所述监控管理模块获取所述各个节点的所述健康状态数据,并将所述健康状态数据和其节点标识发送给预警模块包括:

所述监控管理模块以守护进程的方式获取所述各个节点的所述健康状态数据,并将所述健康状态数据和其节点标识发送给所述预警模块。

可选地,所述监控管理模块在获取所述各个节点的所述健康状态数据之后,还包括:

在管理界面上将所述健康状态数据和其节点标识进行图形化展示,以便于实时监控所述各个节点的健康状态。

可选地,还包括:

所述监控管理模块将所述各个节点的所述健康状态数据和其节点标识存入数据库;并将已经发送给所述预警模块的健康状态数据和其节点标识在所述数据库中进行标记,以避免重复发送。

可选地,所述预警模块将所述预警事件加入预警通知队列之后,还包括:

判断是否第一次将所述预警事件加入预警通知队列;

若否,则判断是否到达所述预警配置文件中设定的延迟时间;

若到达所述延迟时间,则执行进行预警通知的步骤。

本申请还提供了一种集群节点健康状态预警系统,包括:

监控模块:用于获取其所在节点的健康状态数据;所述监控模块分别部署在各个节点上;

监控管理模块:用于获取所述各个节点的所述健康状态数据,并将所述健康状态数据和其节点标识发送给预警模块;所述监控管理模块部署在管理节点上;

所述预警模块:用于判断所述健康状态数据是否符合预警配置文件中的预设条件;若否,则判定所述节点标识对应的节点发生预警事件;并将所述预警事件加入预警通知队列,进行预警通知;所述预警模块部署在所述管理节点上。

可选地,所述监控模块具体用于:

获取其所在节点的硬件信息和性能指标;

所述预警模块具体用于:

判断所述各个节点的所述硬件信息是否符合所述预警配置文件中设定的状态值;判断所述各个节点的所述性能指标是否符合所述预警配置文件中设定的阈值范围。

可选地,所述监控管理模块还用于:

在获取所述各个节点的所述健康状态数据之后,将所述健康状态数据和其节点标识在管理界面上进行图形化展示,以便于实时监控所述各个节点的健康状态。

可选地,所述预警模块还用于:

在将所述预警事件加入预警通知队列之后,判断是否第一次将所述预警事件加入预警通知队列;

若否,则判断是否到达所述预警配置文件中设定的延迟时间;

若到达所述延迟时间,则执行进行预警通知的步骤。

本申请所提供的集群节点健康状态预警方法中,各个节点的监控模块获取本节点的健康状态数据;监控管理模块获取所述各个节点的所述健康状态数据,并将所述健康状态数据和其节点标识发送给预警模块;所述监控管理模块和所述预警模块部署在管理节点上;所述预警模块判断所述健康状态数据是否符合预警配置文件中的预设条件;若否,则判定所述节点标识对应的节点发生预警事件;并将所述预警事件加入预警通知队列,进行预警通知。

可见,本申请所提供的集群节点健康状态预警方法中,通过在管理节点中设置监控管理模块,对各个监控模块获取到的集群中各个节点的健康状态数据统一进行汇总和管理,以便于提供给预警模块进行分析和处理,从而可以在预警事件发生时进行预警通知。此外,相比于现有技术,本申请所提供的集群节点健康状态预警方法中,预警模块只须部署在管理节点上,相应地,预警配置文件也只须存储在管理节点中,预警模块可以通过监控管理模块并依据预警配置文件对集群中各个节点的健康状态数据进行分析和处理。因此,本申请所提供的集群节点健康状态预警方法可以极大程度地简化预警模块的部署工作和预警配置文件的修改工作,进而可以提高效率并降低系统运营成本。本申请所提供的集群节点健康状态预警系统同样具有上述有益效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。

图1为本申请实施例所提供的一种集群节点健康状态预警方法的流程图;

图2为本申请实施例所提供的另一种集群节点健康状态预警方法的流程图;

图3为本申请所提供的一种集群节点健康状态预警系统的结构框图。

具体实施方式

为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种集群节点健康状态预警方法的流程图,主要包括以下步骤:

步骤101:各个节点的监控模块获取本节点的健康状态数据。

集群中的各个节点均部署有监控模块,可以获取本节点的健康状态数据。所述健康状态数据具体可以包括该节点的硬件信息,例如电源是否接通、风扇是否开启、网卡是否可用等;还可以包括该节点的性能指标,例如cpu利用率、内存利用率等。通过这些健康状态数据,可以在经过一系列分析后判断该节点是否故障以及故障的具体情况。

步骤102:监控管理模块获取各个节点的健康状态数据。

在一个集群的诸多节点中,一般有一个为管理节点,可以与其他节点进行通信,并对其他节点进行管理。本申请实施例所提供的集群节点健康状态预警方法中,在管理节点中部署有监控管理模块,主要用于汇总和管理各个节点所获取的本节点的健康状态数据。通过管理节点和其他节点之间的数据传输,监控管理模块可以获取汇总各个节点的健康状态数据,以便后续步骤中对所述健康状态数据进行处理。

步骤103:监控管理模块将健康状态数据和其节点标识发送给预警模块。

在本申请实施例所提供的集群节点健康状态预警方法中,预警模块同监控管理模块一样,部署在管理节点上,主要用于分析、判断和处理预警事件。

集群中各个节点均有各自对应的节点标识,用以辨识节点。监控管理模块在与各个节点进行通信以获取该节点的健康状态数据的同时,也同样可以获取该节点的节点标识。为了便于预警模块对各个节点的健康状态数据进行分析和判断,监控管理将各个节点的健康状态数据连同其所对应的节点标识一同发送给预警模块,以便预警模块对其进行分析和判断,从而对发生的预警事件进行处理。

值得一提的是,在步骤102和步骤103中所提到的监控管理模块优选以守护进程的方式运行,使得监控管理模块的运行不受任何终端的影响和控制,以便于第一时间发现各个节点发生的预警事件并进行预警提示,从而有效地保障集群中各个节点的正常运行。

步骤104:预警模块判断健康状态数据是否符合预警配置文件中的预设条件;若否,进入步骤105。

预警模块可以对其从监控管理模块接收到的各个节点的健康状态数据进行分析,从而判断是否有节点发生预警事件。预警模块在进行判断时,具体是依据预警配置文件中的相关数据:如果节点的健康状态数据符合预警配置文件中的预设条件,则说明该节点健康状态良好,无预警事件发生;相反,如果节点的健康状态数据不符合预警配置文件中的预设条件,则说明该节点的健康状态欠佳,有预警事件发生,需要进行预警处理,则进入步骤105。并且,预警模块可以通过节点健康状态数据的节点标识来识别究竟是哪一个节点发生了预警事件。

预警模块在进行判断预警事件是否发生时,其判断内容具体可以包括节点的硬件信息是否符合预警配置文件中设定的状态值,以及节点的性能指标是否符合预警配置文件中设定的阈值范围。若节点的硬件信息不符合预警配置文件中的设定的状态值,如电源没有接通、风扇没有运行等;或者节点的性能指标不符合预警配置文件中设定的阈值范围,如cpu利用率过低、内存利用率过低等,则说明此时该节点的健康状态欠佳,预警模块需要对该节点发生的该预警事件进行预警通知,以便管理员在接收到预警通知后及时对该节点进行相应的修复和处理,保障集群节点的健康。

预警配置文件中各个节点硬件信息的状态值和性能指标的阈值范围是预先设定的,具体可以参考工程经验进行相应设定;涉及到具体取值范围的,本申请实施例对具体取值大小并不做限定,本领域技术人员可根据实际使用情况自行选择和设置。

步骤105:预警模块将预警事件加入预警通知队列。

预警模块将其在步骤104中经判断得到的预警事件加入预警通知队列,等待进行预警通知。特别地,当集群中的预警事件较多时,还可以以预警事件的严重程度为判别标准,将严重程度较大的预警事件优先加入预警队列,以便在最短的时间内进行预警通知。

步骤106:进行预警通知。

针对预警通知队列中的预警事件进行预警通知时,可以采用多种方式,例如向集群系统的管理员发送短信或者邮件等,还可以直接在集群的管理软件的管理界面上采用文字、图像、警示灯等方式进行提示,本申请实施例对具体采用何种通知方式并不做限定,本领域技术人员可以根据实际使用情况自行进行选择。

可见,本申请实施例所提供的集群节点健康状态预警方法中,通过部署在管理节点上的监控管理模块和预警模块,分别对各个节点的健康状态数据进行汇总和分析,从而完成对预警事件的预警通知处理。相比于现有技术,本申请所提供的集群节点健康状态预警方法无须在各个节点上均部署预警模块及设置预警配置文件,而是仅仅将预警模块部署在管理节点上,同时,在修改配置文件时也只须在管理节点上进行一次修改。因此,本申请所提供的集群节点健康状态预警方法可以极大程度地简化预警模块的部署工作和预警配置文件的修改工作,进而可以提高效率并降低系统运营成本,同时也降低了修改工作带来的风险。

请参考图2,图2为本申请实施例所提供的又一种集群节点健康状态预警方法的流程图,主要包括以下步骤:

步骤201:各个节点的监控模块获取本节点的健康状态数据。

步骤202:监控管理模块获取各个节点的健康状态数据。

如前所述,这里所述的节点的健康状态数据可以包括节点的硬件信息和性能指标。

以上步骤201和步骤202中的具体内容可以分别参考图1中的步骤101和步骤102,由于内容相似,这里就不再赘述。

步骤203:监控管理模块将健康状态数据和其节点标识在管理界面上进行图形化展示。

监控管理模块在从集群中的各个节点上的监控模块获取到各个节点的健康状态数据之后,为了便于直观地显示各个节点的健康状态,方便管理员利用集群的管理软件进行实时的监控,可以进一步将其所获取的各个节点的健康状态数据与对应的节点标识在管理软件的管理界面上进行图形化展示,使得各个节点当前的健康状态可以一目了然,极大地方便对节点的实时监控。

步骤204:监控管理模块将健康状态数据和其节点标识存入数据库。

为了便于对各个节点的健康状态数据进行分析和管理,监控管理模块可以将所述健康状态数据与其节点标识存入数据库以进行保存。

步骤205:监控管理模块将健康状态数据和其节点标识发送给预警模块,并在数据库中进行标记。

与步骤103相类似,监控管理模块将其获取到的各个节点的健康状态数据和其节点标识一同发送给预警模块,以便预警模块在后续步骤中根据预警配置文件对各个节点的健康状态进行判断,并在预警事件发生时进行预警处理。

此外,监控管理模块在将节点的健康状态数据和其节点标识发送给预警模块之后,还可以在步骤204中所建立的数据库中,对已经发送了的节点的健康状态数据及其节点标识进行标记,由此可以避免对同一数据的重复发送,避免不必要的带宽消耗。

同样,本申请实施例所提供的集群节点健康状态预警方法中,监控管理模块优先以守护进程的方式运行,以便在第一时间发现预警事件的发生,从而进行预警通知,保障系统的正常运行。

步骤206:预警模块判断健康状态数据是否符合预警配置文件中的预设条件;若否,进入步骤207。

步骤207:预警模块将预警事件加入预警通知队列。

同样地,以上步骤206和步骤207中的具体操作内容可以分别参考图1中的步骤104和步骤105,同样的内容这里就不再赘述。

步骤208:预警模块判断是否第一次将该预警事件加入预警通知队列,若否,进入步骤209;若是,进入步骤210。

由于预警事件发生后,对相应故障设备的修复需要一定的时间,因此,在此修复时间内,系统可能会对该预警事件进行频繁的预警通知。为了防止此类问题的发生,预警模块可以在将预警事件加入预警通知队列后对其进行判断:判断该预警事件是否是第一次加入预警通知队列;如果是,则说明此前该预警事件并没有进行过预警通知,则可以直接进入步骤210,执行预警通知的步骤;如果否,则说明该预警事件很可能在此之前已经进行过了预警通知,则可以进入步骤209。

步骤209:预警模块判断是否到达预警配置文件中设定的延迟时间,若是,进入步骤210。

经步骤208判断为非首次加入预警通知队列的预警事件,很可能在此之前已经进行过预警通知,因此,为了防止与上次预警通知之间的时间间隔过短而导致通知过于频繁,此时预警模块可以对是否已经到达预警配置文件中设定的延迟时间进行判断,如果尚未到达则继续等待,如果已经到达了延迟时间,则可以进入步骤210,执行预警通知的步骤。

延迟时间是预先在预警配置文件中设置的,例如可以设置为15秒;当然,也可以设置为其他时间参数,本申请实施例对此不进行限定,本领域技术人员可以根据具体使用情况进行选择。

步骤210:进行预警通知。

同样,对预警事件的预警通知,可以采用向管理员发送邮件或短信、在管理软件的管理界面上显示文字、图像或警示灯等方式进行通知,本申请实施例对此不做限定,本领域技术人员可以根据实际使用情况自行选择。

可见,本申请所提供的又一种集群节点健康状态预警方法,在本申请所提供的第一种方法的基础上,增加了对各个节点健康状态数据在管理界面上进行图形化展示的步骤,可以更加直观地实时监控各个节点的健康状态;同时还对已经发送给预警模块的节点健康状态数据进行了标记,避免了同一份健康状态数据的重复发送;除此之外,还增加了对非首次加入预警通知队列的预警事件设置延迟通知时间的步骤,因此可以避免对同一个预警事件的频繁通知。由此可见,本申请实施例所提供的集群节点健康状态预警方法,在实现简化预警模块的部署工作和与预警配置文件的修改工作的基础上,可以进一步提高用户体验。

下面对本申请实施例所提供的集群节点健康状态预警系统进行介绍。下文描述的集群节点健康状态预警系统与上文描述的集群节点健康状态预警方法可相互对应参照。

请参阅图3,图3为本申请所提供的一种集群节点健康状态预警系统的结构框图;包括监控模块301、监控管理模块302和预警模块303。

多个监控模块301分别部署在集群中的各个节点中,用于获取其所在节点的健康状态数据。所述健康状态数据可以包括节点的硬件信息,例如电源是否接通、风扇是否开启、网卡是否可用等;还可以包括节点的性能指标,例如cpu利用率、内存利用率等。通过对监控模块301获取到的节点的健康状态数据进行分析,可以对该节点的健康状态进行评判,进而可以在预警事件发生时进行预警通知。

监控管理模块302部署在集群中的管理节点上,用于从各个监控模块301获取各个节点的健康状态数据,并将所述健康状态数据及其节点标识发送给预警模块303,以便预警模块303依据预警配置文件对各个节点的健康状态数据进行分析和判断。

另外,监控管理模块302还可以具体用于在获取到各个节点的健康状态数据之后,将各个节点的健康状态数据及其节点标识在管理软件的管理界面上进行图形化展示,以便更加直观地显示各个节点的健康状态,便于实时监控。除此之外,监控管理模块302还可以具体用于将各个节点的健康状态数据和节点标识存入数据库,进行保存,并将已经发送给预警模块303的节点健康数据及其节点标识在数据库中进行标记,以避免重复发送,造成不必要的带宽消耗。

预警模块303部署在集群中的管理节点上,用于对各个节点的健康状态数据进行分析,通过判断其是否符合预警配置文件中的预设条件,来判断其节点标识所对应的节点是否发生预警事件,并对发生的预警事件进行处理。预警配置文件中预先设置有正常状态下节点硬件信息的状态值和性能指标的阈值范围,预警模块303在判断节点是否发生预警事件时,具体用于判断节点的硬件信息是否符合预警配置文件中设定的状态值,以及判断节点的性能指标是否符合预警配置文件中设定的阈值范围,若节点的硬件信息或者性能指标出现异常,即预警事件发生,则预警模块303用于将该节点所发生的该预警事件加入预警通知队列,以进行预警通知。具体地,预警通知可以采用向管理员发送邮件或者短信、或者在管理软件的管理界面上显示文字、图像、警示灯等方式。

此外,预警模块303还可以具体用于在将预警事件加入预警通知队列之后,对该预警事件是否为首次加入预警通知队列进行判断,如果是首次加入,则可以直接执行预警通知步骤;如果是非首次加入,则说明该预警事件很可能已经进行过预警通知,为了防止对该预警事件的预警通知过于频繁,预警模块303可以判断是否到达预警配置文件中设定的延迟时间,并在所述延迟时间到达时,才对该预警事件进行本次预警通知。

可见,本身申请所提供的集群节点健康状态预警通知系统中,预警模块303仅需部署在管理节点上,其可以通过部署在管理节点上的监控管理模块302,对各个节点的健康状态数据进行分析和判断。当判断有节点发生预警事件时,预警模块303即可以对该预警事件进行预警通知,以保障集群系统的正常运行。因此,本申请所提供的集群节点健康状态预警系统无须在各个节点中均部署预警模块,由此可以大大简化预警模块的部署工作和预警配置文件的修改工作,进而提高工作效率并降低系统运行成本。

此外,本申请所提供的集群节点健康状态预警通知系统可以进一步在管理界面上对各个节点的健康状态数据进行图形化展示,能够便于更加直观地实时监控各个节点的健康状态;还可以通过设置预警通知的延迟时间,避免对同一个预警事件的预警通知过于频繁。因此,本申请所提供的集群节点健康状态预警通知系统还可以进一步提高用户体验。

本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1