发明内容
本发明要解决的技术问题是,提供一种基于多播网络监控集群的方法及系统,既保证监控数据的准确性,同时又节省了系统带宽。
为了解决上述技术问题,本发明提出一种基于多播网络监控集群的系统,包括配置模块、数据采集模块、控制处理模块和告警模块,其中:
所述配置模块,用以保存资源采集信息、网络状态检测信息、资源状态判断信息;
所述数据采集模块,用以根据所述配置模块中保存的资源采集信息采集集群中各节点的资源数据,以及在接收到重新采集某一节点的资源数据的控制命令后,重新采集该节点的资源数据;
所述控制处理模块,用于通过TCP协议建立与集群中各节点的网络连接,并根据所述配置模块中保存的网络状态检测信息以单播方式检测各节点的网络连接状态,如果检测到某一节点的网络连接状态不佳,则向所述数据采集模块发送重新采集该节点的资源数据的控制命令;以及根据所述配置模块中保存的资源状态判断信息分析所述数据采集模块最新采集到的各节点的资源数据,如符合报警条件,则向所述报警模块发送报警信号;
所述告警单元,用以在接收到报警信号后,进行报警。
进一步地,上述系统还可具有以下特点:
所述数据采集模块,分别设置在集群中各节点上,采集其所在节点上的资源数据,并将采集到的资源数据根据所述集群的多播地址发送出去;
所述控制处理模块根据所述集群的多播地址信息接收各节点的资源数据。
进一步地,上述系统还可具有以下特点:
所述网络状态检测信息包括一时间阈值;
所述控制处理模块根据所述时间阈值检测各节点的网络连接状态,如果检测到某一节点的网络连接超时,则认为该节点的网络连接状态不佳。
进一步地,上述系统还可具有以下特点:
所述控制处理模块在检测各节点的网络连接状态时是以轮循的方式执行检测。
进一步地,上述系统还可具有以下特点:
所述网络状态检测信息还包括一数量阈值;
所述控制处理模块在连续检测到某一节点的网络连接状态不佳的次数超过所述数量阈值时,向所述报警模块发送报警信号。
为了解决上述技术问题,本发明还提出一种基于多播网络监控集群的方法,包括步骤:
配置资源采集信息、网络状态检测信息、资源状态判断信息;
根据所述资源采集信息分别采集集群中各节点的资源数据;
通过TCP协议建立与所述各节点的网络连接,根据所述网络状态检测信息以单播方式检测各节点的网络连接状态;
在检测出某一节点的网络连接状态不佳时,重新采集该节点上的资源数据;
根据所述资源状态判断信息分析最新采集到的集群中各节点的资源数据,在判断出某一节点的资源数据符合报警条件时,报警。
进一步地,上述方法还可具有以下特点:
在采集集群中各节点的资源数据时,是分别在各节点上采集资源数据,并将采集到的资源数据根据所述集群的多播地址发送出去;
在分析最新采集到的集群中各节点的资源数据时,先在所述多播地址信息上接收各节点的资源数据。
进一步地,上述方法还可具有以下特点:
所述网络状态检测信息包括一时间阈值;
在根据所述时间阈值检测各节点的网络连接状态时,如果检测到某一节点的网络连接超时,则认为该节点的网络连接状态不佳。
进一步地,上述方法还可具有以下特点:
在检测各节点的网络连接状态时,以轮循的方式进行检测。
进一步地,上述方法还可具有以下特点:
所述网络状态检测信息还包括一数量阈值;
在连续检测到某一节点的网络连接状态不佳的次数超过所述数量阈值时,向所述报警模块发送报警信号。
本发明提供的一种基于多播网络监控集群的方法及系统,具有很好的纠错能力,弥补了传统的基于多播网络监控体系结构的不足,使其体系结构所带来的资源能够均衡配置、灵活扩展,使其更适用于复杂的高性能商业应用领域,具有非常广阔的发展前景。
具体实施方式
本发明提供了一种基于多播网络监控集群的方法及系统,很好地弥补了传统的基于多播网络监控体系结构无纠错能力的缺陷,可以适用于对计算集群、存储集群、甚至网格集群等的监控,提供高效、可靠的监控服务。其基本构思是:巧妙地利用单播具有纠错能力的特点,在基于多播网络监控集群时,通过TCP协议建立主节点与各从节点的网络连接,以单播方式检测主节点与各从节点的网络连接状态,如果检测出主节点与某一从节点的网络连接超时,则控制该从节点重新采集监控数据并上报,从而克服了由于网络连接错误导致采集到的监控数据不准确的缺陷。
下面将结合附图来详细说明本发明实施方式。
参见图1,该图示出了本发明实施例一种基于多播网络监控集群的系统,包括配置模块11、数据采集模块12、控制处理模块13、告警模块14,以及带外监控模块15,其中:
所述配置模块11,用以配置资源采集信息、网络状态检测信息、资源状态判断信息。所述配置模块11可以提供一用户管理界面,接收并保存用户输入的配置信息。
所述数据采集模块12,用以根据所述配置模块11中保存的资源采集信息采集集群中各节点的资源数据,以及在接收到重新采集某一节点的资源数据的控制命令后,重新采集该节点的资源数据。所述资源采集信息中包含资源数据的类型,可以是,例如CPU温度、CPU风扇、工作电压、CPU利用率、内存利用率、磁盘容量等。所述采集信息中还包含采集周期,所述数据采集模块12根据所述采集周期采集集群中各节点的资源数据。
所述控制处理模块13,用于通过TCP协议建立与集群中各节点的网络连接,并根据所述配置模块11中保存的网络状态检测信息以单播方式检测各节点的网络连接状态,如果检测到某一节点的网络连接状态不佳,并向所述数据采集模块12发送重新采集该节点的资源数据的控制命令;以及根据所述配置模块11中保存的资源状态判断信息分析所述数据采集模块12最新采集到的各节点的资源数据以决定是否报警,如需报警,则向所述报警模块14发送报警信号。
所述采集信息中还可以包括所述集群的多播地址信息。所述数据采集模块12可以采用分布式方式实现,即,所述数据采集模块12可以分别设置在集群中各节点上,采集其所在节点上的资源数据,并将采集到的资源数据根据所述集群的多播地址发送出去。所述控制处理模块13根据所述集群的多播地址信息接收各节点的资源数据。
所述资源状态判断信息可以是,例如在CPU利用率超过一预设阈值时报警,或者在内存利用率超过一预设阈值时报警,或者CPU利用率、内存利用率均超过对应的预设阈值时才报警,所述资源状态判断信息可以根据用户需求设置,本发明在此并不做限制。
所述网络状态检测信息可以包括一时间阈值。所述控制处理模块13根据所述时间阈值检测各节点的网络连接状态,如果检测到某一节点的网络连接超时,则认为该节点的网络连接状态不佳。
较佳地,所述控制处理模块13在检测各节点的网络连接状态时,还可以以轮循的方式检测,从而有效地节约带宽。
所述网络状态检测信息还可以包括一数量阈值。所述控制处理模块13在检测到某一节点的网络连接状态不佳时,重新通过TCP协议建立与该节点的网络连接及进行网络状态检测。所述控制处理模块13在连续检测到某一节点的网络连接状态不佳的次数超过所述数量阈值时,向所述报警模块14发送报警信号,从而在反复确认网络连接失败后,可以及时对这种情况进行报警。
较佳地,所述控制处理模块13在向所述报警模块14发送报警信号时,还可以携带报警原因,以供报警单元获知具体报警原因,进而可以更方便问题的定位及解决。
所述告警单元14,用以在接收到报警信号后,进行报警。
所述配置模块11还用以配置报警模式信息。所述报警模式信息可以是,例如,可以通过日志、邮件、SMNP等各种形式告警。
所述配置模块11还用以配置带外信息和带外判断信息。所述带外信息可以是例如,CPU温度、CPU工作电压、CPU风扇、主板温度等。所述带外判断信息可以是,例如CPU温度超过一温度阈值、CPU工作电压大于一第一电压阈值或者小于一第二电压阈值、风扇转速大于一转速阈值,则报警。具体带外判断信息可以根据用户需求设置,本发明在此并不做限制。
所述带外监控单元15,用以根据所述配置模块11中保存的带外资源信息通过带外网络采集集群中各节点的带外信息,并根据所述带外判断信息分析采集到的各节点的带外信息,如果符合报警条件,则向报警模块14发送报警信号。
较佳地,所述带外监控单元15在向所述报警模块14发送报警信号时,还可以携带报警原因,以供报警单元获知具体报警原因,进而可以更方便问题的定位及解决。
本发明实施例上述基于多播网络监控集群的系统,可以采用分布式方式实现,例如,可以是,所述配置模块11设置于主节点上,所述数据采集模块12分别设置于各节点上,所述控制处理模块13设置于主节点上,所述告警单元14设置于主监控节点上,所述带外监控单元15设置于主监控节点上。用户通过简单地在主节点上对所述配置模块11进行配置,之后本发明实施例上述基于多播网络监控集群的系统即可自动进行对集群系统的监控,采用多播、单播两种方式共同管理,既可以有效地对网络连接状态进行检验,从而克服了由于网络连接错误导致采集到的监控数据不准确的缺陷,确保了采集到的监控数据的准确性,另外,本发明实施例在进行网络连接状态检测时巧妙地采用了轮询的方式,又可以实现高效地监控。
参见图2,该图示出了本发明实施例一种基于多播网络监控集群的方法,包括如下步骤:
步骤S201:配置资源采集信息、网络状态检测信息、资源状态判断信息;
步骤S202:根据所述资源采集信息分别采集集群中各节点的资源数据;
所述资源采集信息中包含资源数据的类型,可以是,例如CPU温度、CPU工作电压、CPU风扇、CPU利用率、内存利用率、磁盘容量等。所述采集信息中还包含采集周期。
步骤S203:通过TCP协议建立与所述各节点的网络连接,根据所述网络状态检测信息以单播方式检测各节点的网络连接状态;
所述网络状态检测信息可以包括一时间阈值。在根据所述时间阈值检测各节点的网络连接状态时,如果检测到某一节点的网络连接超时,则认为该节点的网络连接状态不佳。
较佳地,在检测各节点的网络连接状态时,还可以以轮循的方式检测,从而有效地节约带宽。
步骤S204:在检测出某一节点的网络连接状态不佳时,重新采集该节点上的资源参数;
较佳地,在另一实施例中,所述网络状态检测信息还可以包括一数量阈值。在检测到某一节点的网络连接状态不佳时,重新通过TCP协议建立与该节点的网络连接及进行网络状态检测。在连续检测到某一节点的网络连接状态不佳的次数超过所述数量阈值时,报警,从而在反复确认网络连接失败后,可以及时对这种情况进行报警。
步骤S205:根据所述资源状态判断信息分析最新采集到的集群中各节点的资源数据,在判断出某一节点的资源数据符合报警条件时,报警。
所述资源状态判断信息可以是,例如在CPU利用率超过一预设阈值时报警,或者在内存利用率超过一预设阈值时报警,或者CPU利用率、内存利用率均超过对应的预设阈值时才报警,所述资源状态判断信息可以根据用户需求设置,本发明在此并不做限制。
在另一实施例中,还可以配置带外信息和带外判断信息,并根据所述带外资源信息和带外判断信息通过带外网络采集并分析集群中各节点的带外信息,如果符合报警条件,则报警。所述带外信息可以是例如,CPU温度、CPU工作电压、CPU风扇、主板温度等。所述带外判断信息可以是,例如CPU温度超过一温度阈值、CPU工作电压大于一第一电压阈值或者小于一第二电压阈值、风扇转速大于一转速阈值,则报警。具体带外判断信息可以根据用户需求设置,本发明在此并不做限制。
在另一实施例中,所述采集信息中还可以包括所述集群的多播地址信息。可以采用分布式方式实现资源数据采集,即,可以分别在各节点上采集资源数据,并将采集到的资源数据根据所述集群的多播地址发送出去,在分析最新采集到的集群中各节点的资源数据时,可以在所述多播地址信息上接收各节点的资源数据,然后进行分析。
在另一实施例中,还可以配置报警模式信息。所述报警模式信息可以是,例如,可以通过日志、邮件、SMNP等各种形式告警。
应用实例1:
参见图3,本应用实例采用分布式体系结构实现,利用分布在各节点的NodeMonitor守护进程采集对应节点的资源数据,并由位于同一个UDP多播通道的NodeMonitor所有守护进程收集,转发给位于主节点的GridMonitor守护进程。
位于主节点的GridMonitor守护进程利用I/O复用机制,调用poll()函数监控每一个高可用组对应UDP通道。一旦某一个通道有资源数据产生,GridMonitor进程就利用RRD数据库将该资源数据保存起来。随后,前台Web界面利用PHP脚本读取RRD数据,并利用AlertSys设置告警机制,为控制节点、数据节点、应用主机节点和存储设备搜集监控信息,并负责向管理员提供告警服务。
各个节点上的NodeMonitor守护进程除了可以通过ipmi搜集到硬件信息以及节点的可用性带外状态,还可以通过查看/proc文件系统的相关信息了解到系统的利用率信息。
为了对监控数据提供可靠性保障,主节点NodeMonitor守护不仅实时接收到由被监控节点发送过来的监控信息,还要通过建立面向连接的可靠TCP协议轮询各个节点的网络连接状态,如果发现主节点与某个从节点网络连接超时,则清除其对应的多播地址中的监控信息,并与其建立一个TCP套接字以获得可靠的监控信息。随后在下一次轮询中如果继续可疑则再次执行上一个步骤,如果连续n次可疑,n的值由用户设置,则启动告警单元AlertSys。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。