CN101667034B - 一种易扩展的、支持异构集群的监控系统 - Google Patents
一种易扩展的、支持异构集群的监控系统 Download PDFInfo
- Publication number
- CN101667034B CN101667034B CN2009100934424A CN200910093442A CN101667034B CN 101667034 B CN101667034 B CN 101667034B CN 2009100934424 A CN2009100934424 A CN 2009100934424A CN 200910093442 A CN200910093442 A CN 200910093442A CN 101667034 B CN101667034 B CN 101667034B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- node
- monitoring
- group
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明一种易扩展的、支持异构集群的监控系统,包括监控代理程序、主监控程序和图形界面;该监控代理程序运行在被监控的结点机之上,并向组内所有结点广播本机的性能监测数据;该主监控程序运行在监控主机之上,并与所有的数据源结点相连,它周期性的向数据源结点采集该数据源所在组的所有结点的性能监测数据,并将采集到的数据保存到数据库中;该图形界面的后端模块从数据库中获取相关的数据,并发送到前端显示模块,前端显示模块将数据进行可视化显示,并提示告警信息。本发明能很好的适应系统功能和规模的扩展,它支持异构的、混杂的体系结构,能同时采用多种监控策略监控多种不种体系结构和类型的结点与设备。它具有广阔地应用前景。
Description
(一)技术领域:
本发明涉及一种集群监控系统,特别是涉及一种易扩展的、支持异构集群的监控系统。其中扩展性包括集群规模的扩展和监控功能的扩张两方面,支持异构指的是该监控系统能同时监控集群系统中的多种不同体系结构的结点机、网络设备以及其它设备,属于计算机技术领域。
(二)背景技术:
目前,集群系统由于其卓越的性能价格比、良好的可扩展性、高可用性,已经成为当今高性能计算机的主流。2009年6月最新的TOP 500中,有82%是集群系统。集群系统是制造和运行成本极其昂贵,所以集群运行期间的性能指标应该是可以观测的,以便用户可以根据这些性能数据调整以及优化应用程序和系统的性能。此外,集群系统是由多个结点组成的,机群中结点故障发生率比较高,应该提供一种故障检测方法,迅速检测和定位发生故障的结点。
为了解决这些问题,人们为不同的集群开发出了不同的监控系统,这些监控系统能实时的提取集群中各个结点的状态信息,如CPU使用率、内存占用量、主机活动情况、是否发生故障等。一方面集群系统管理员能够通过监控系统提供的信息,观测集群的使用情况,快速定位、修复发生故障的结点,维护集群系统的安全稳定运行;另一方面普通用户在集群系统上编写应用程序时,可以使用监控系统观察该程序的资源使用情况和性能相关的信息,从而调试和优化应用程序,提高程序的效率和集群系统的使用率。目前,比较常用的监控系统有Ganglia、Supermon等。
Ganglia采用了集群分组的策略,每个结点向同一个组内所有结点广播数据,同时也接收来自同一个组内其它结点的数据,这样每个结点就保存了一个分组的全局的状态数据镜像;然后,负责监控的主机再向分组内的任意一个结点采集整个分组的数据,并将数据处理保存到RRD数据库中。因此,Ganglia具有高可用的特点,由于每个结点都保存了全局的状态数据,某些结点发生故障不会使监控系统失效。但是,由于每个结点都保存了全局的数据,导致了数据的过分冗余。此外,由于Ganglia使用RRD数据库保存数据,虽然RRD数据库中的数据很便于生成图形,但是很难用于其它用途,如数据共享,数据处理,故障预测等。
Supermon由一个监控程序和多个监控代理程序两部分组成:1)监控程序采用轮训的方式向监控代理程序收集数据,并将数据保存到数据库;2)监控代理程序又分为内核模块和守护进程两部分,其中内核模块通过读取Linux内核数据,并将数据以S-表达式的方式输出到/procs文件系统当中,守护进程则接收监控程序的请求,读取/procs文件系统的数据并发送到监控程序。Supermon的特点是:1)数据采样率高,其最高采样率能每秒达到6000次,从而能提供更加实时与准确的监控数据;2)独特的S-表达式数据表达方式,能很容易实现监控数据的扩展,具备高的灵活性。但是,Supermon采用的单一监控主机的方式,即一台监控主机负责收集,处理所有结点的数据,因此很容易导致单点故障,并且很难适应系统规模的扩展;此外,Supermon监控代理程序的内核模块与Linux操作系统内核是紧耦合的,每次系统内核升级,都必须重新编译和安装程序。
综观现有的集群监控系统,其设计之时的集群系统中,结点规模较小(不超过512个结点),而且所有结点都是同一体系结构。但是,随着集群系统中结点数目的快速增长(多达数千个),集群中不断引入异构类型的新结点和设备,使得这些历史上的监控系统既不能再适应新系统规模的增长,也不能满足当今集群系统中的异构的需求。
具体而言,现有监控系统中主要存在的问题在于:不能很好地支持超大规模的集群系统,即当机群结点数目大规模增长时,主监控结点负载急剧增长,监控系统响应时间也变得很长,令人无法接受;此外,集群体系结构开始朝着异构方向发展,现有的监控系统不能满足各种异构类型的新结点和设备动态增加的需求。
在已有监控系统的基础之上,并针对其不足之处,本发明一种易扩展的、支持异构集群的监控系统。相对上述监控系统,该系统有两大特色:1)采用了类似Ganglia的分组策略的层次化方法,从而很好的实现规模的扩展,并且通过采用局部冗余的方法,既保证了监控系统的高可用性,又减少了数据的冗余,从而进一步增强节点规模的扩展能力;2)采用了松散耦合的模块化设计方式,能很好的实现监控功能的增加、删除和定制,配置多种不同的监控策略,从而满足异构集群中不同类型节点的监控需求。
(三)发明内容:
1、目的:本发明的目的在于提供一种易扩展的、支持异构集群的监控系统。该系统有两个主要的特征:1)可扩展性好,能很好的适应系统功能的扩展和系统规模的扩展;2)支持异构的、混杂的体系结构,能同时采用多种监控策略监控多种不种体系结构和类型的结点与设备。
2、技术方案:本发明的技术方案是这样实现的:
本发明一种易扩展的、支持异构集群的监控系统,它包括监控代理程序、主监控程序和图形界面;其中:该监控代理程序运行在被监控的结点机之上,多个结点机通过局域网连接起来形成一个组,组内选出一个数据源结点(为了实现冗余备份,可以选出多个数据源结点,但同一时刻只有一个数据源结点向主监控程序提供监测数据),监控代理程序向组内所有结点广播本机的性能监测数据,数据源结点接收其它结点的数据并保存到本地,通过这种方式,数据源结点保存了本组内所有结点的性能监测数据;该主监控程序运行在监控主机之上,监控主机与所有的数据源结点相连,主监控程序周期性的向数据源结点采集该数据源所在组的所有结点的性能监测数据,并将采集到的数据保存到数据库中;该图形界面的后端模块从数据库中获取相关的数据,并发送到前端显示模块,前端显示模块将数据进行可视化显示,并提示告警信息。
所述的监控代理程序由一个主模块和多个功能模块组成,通过功能模块的动态组装和配置,可以方便灵活的实现功能扩展和对异构系统的支持。
该主模块在启动时分析初始化参数,读取配置文件中功能模块的配置信息,并根据配置信息加载并初始化各个功能模块。主模块还根据配置文件中指定的本结点所属组的配置,使本机运行地监控代理程序加入一个组,并在采集到数据后向同组内的所有结点发送所采集到的本机相关数据。主模块还可以根据配置信息,决定是否接受相同组内其它结点机发送过来的数据,并保存在本机内存中。上述接收和发送的数据格式采用的是XDR(External Data Representation,外部数据表示)定义的,系统通过该格式的数据来实现异构结点和设备的通信。主模块使用散列表的方式保存的各种性能测量项数据。主模块还负责响应外部对监控代理程序的数据请求,并对这些请求采用了访问控制列表机制进行过滤,以防止恶意请求,保障系统安全。主模块中有一个列表,该列表保存了所有的功能模块的引用结构体。主模块还按照一定的时间间隔调用各个功能模块中的处理函数,执行功能模块所提供的功能,采集相关数据。
该功能模块负责具体数据的采集。
功能模块由四个部分组成:
1)一个描述本功能模块的模块结构体,
2)一个模块初始化函数,
3)一个模块处理函数,
4)一个模块清理函数。
上述的模块结构体包含下列属性字段:
1)模块名称字段,
2)动态链接库加载句柄字段,
3)性能测量项列表指针字段,
4)模块参数列表指针字段,
5)模块配置文件指针字段,
6)模块初始化函数指针字段,
7)模块处理函数指针字段,
8)模块清理函数指针字段。
该性能测量项是一个结构体,包含下列属性字段:
1)性能测量项名称字段,
2)性能测量项采集时间阈值字段,
3)性能测量项返回值类型字段,
4)性能测量项返回值单位字段,
5)性能测量项描述信息字段。
上述的模块初始化函数用于初始化本模块,其地址值被赋给上述模块结构体的模块初始化函数指针字段,上述主模块加载功能模块时,调用该功能模块初始化函数。
上述的模块处理函数用于采集性能测量项的数据,该函数有一个整型参数,该函数以该参数作为上述性能测量项列表的索引,为相应性能测量项采集数据。
上述的模块清理函数用于在模块卸载或者监控代理程序退出时清理本模块占用的系统资源。
多个运行监控代理程序的结点可以配置成一个组,组内包含数据源结点,和非数据源结点。该非数据源结点只负责采集本机数据,并把采集到的数据发送给组内的所有结点。该数据源结点除了采集本机数据以外,还负责接收其它所有同组结点发送过来的数据,保存到本机内存中。数据源结点还响应主监控程序的请求,将本机保存的组内所有结点的数据发送到主监控程序。
所述的主监控程序从一个组内的监控代理中选出一个代表作为数据源,采用轮询的方式,从该数据源读取集群内所有结点的性能数据,并保存到数据库中。该轮询的时间间隔是通过配置文件指定的。该主监控程序与数据源之间的数据传输采用的是XML(Extensible Markup Language,可扩展标记语言)格式的文档,系统通过XML数据格式来实现异构结点之间的通信。该XML数据格式是用DTD(Document Type Definition文档类型定义)定义的,DTD所含的内容是根据本系统的需求定义的,用于XML消息的有效性验证。主监控程序还提供其所监控的集群的数据请求服务。主监控程序的配置文件中有一个访问控制列表,主监控程序只向访问控制列表中的结点提供数据请求服务。
所述的图形界面由前端显示模块和后端请求处理模块两部分组成。该前端显示模块是以万维网网页方式提供的,页面中,常量信息以文字的方式显示,动态变化的数据使用曲线图、柱状图并加注文字说明的方式显示。前端显示模块显示的内容为上述监控代理程序各个功能模块所采集的性能测量项的数据。前端显示模块显示的数据采用增量更新的方式,提高响应速度,减少数据传输量。前端显示模块包含一个初始页面,初始页面显示集群整体的描述信息、当前性能状态,集群统计信息。上述的集群统计信息包含集群结点总数、集群结点类型及该类型的结点数量、以及其它相关的信息。前端部分的各个页面还提供了大量的超链接,通过链接可以方便的查看集群中的某个子集群、或者某个结点与设备的性能状态。该后端请求处理模块负责接收前台部分发送的请求,根据请求查询数据库,并把数据发送回前端部分,供其显示。
在本发明中,运行监控代理程序的结点可以经过配置,形成一个组,组与组之间是相对隔离的,组内选出一个结点作为上述的数据源结点,该数据源结点包含了组内所有结点的性能测量项信息,可以直接响应外界的请求。
当机群中结点数量需要增加时,可以通过添加一个或者多个组的方式实现;当机群中添加了异构结点时,可以为这些异构结点开发相应的功能模块,并把相同的异构结点划分到一个组内即可实现对这些异构结点的监控。
3、优点及功效:本发明一种易扩展的、支持异构集群的监控系统,其优点及功效是:1)可扩展性好,能很好的适应系统功能的扩展和系统规模的扩展;2)支持异构的、混杂的体系结构,能同时采用多种监控策略监控多种不种体系结构和类型的结点与设备。
(四)附图说明:
图1为本发明的系统结构示意图
图2为本发明一实施例的总体框图
图3为本发明一实施例的监控代理程序的原理结构图
图4为本发明一实施例的主监控程序的原理结构图
图5为本发明一实施例的图形界面的结构示意图
图6为本发明一实施例的主模块的流程框图
图7为本发明一实施例的功能模块的结构示意图
图8为本发明一实施例的主监控程序的流程框图
图中符号说明如下:
11监控代理程序;21主监控程序;31图形界面;12结点机;22系统监控主机;32主控制台主机;
111主模块;112功能模块;113配置文件;
1121模块结构体;1122模块初始化函数;1123模块处理函数;1124模块清理函数;211主监控模块;212配置文件;213数据收集模块;214数据汇总模块;215数据库输出模块;216数据库;311前端显示模块;312后端请求处理模块;
11101——11120;流程的步骤序号:
2100——2118;流程的步骤序号;
图中“…”表示省略重复。
(五)具体实施方式:
参见图1、图2,本发明一种易扩展的、支持异构集群的监控系统,为一个多层结构的系统,它由监控代理程序11、主监控程序21、图形界面31组成;其中:
监控代理程序11运行在被监控的结点机12之上,多个结点机12通过局域网连接起来形成一个组,组内选出一个数据源结点(为了实现冗余备份,可以选出多个数据源结点,但同一时刻只有一个数据源结点向主监控程序21提供监测数据),监控代理程序11向组内所有结点广播本机的性能监测数据,数据源结点接收其它结点的数据并保存到本地,通过这种方式,数据源结点保存了本组内所有结点的性能监测数据;
主监控程序21运行在监控主机22之上,监控主机22与所有的数据源结点相连,主监控程序21周期性的向数据源结点采集该数据源所在组的所有结点的性能监测数据,并将采集到的数据保存到数据库216中;
图形界面31的后端模块从数据库216中获取相关的数据,并发送到前端显示模块311,前端显示模块311将数据进行可视化显示。
本发明所述的监控系统运行环境为集群系统,为了实施本发明,首先必须具备一套集群系统,该集群系统中的结点机12通过局域网连接起来,集群中的每个结点机运行Linux操作系统,本发明所属的监控代理程序11,主监控程序21,都运行在Linux操作系统之上。
参见图1、图2本发明的一个具体的实施例如下:
运行监控代理程序11的结点机12通过局域网连接,同一个局域网内的结点机12划分为一组(也可以为多个组),在组内选出数据源结点,用于接收并保存组内其它所有非数据源结点在组内广播的数据,并向主监控程序21提供整个组的性能监测数据;
运行主监控程序21的系统监控主机22中,针对每一个组保存了一个数据源列表,主监控程序21会从每个组的数据源列表中选择一个可用的数据源,获取该组的所有结点的性能监测数据,主监控程序21还负责把接收到的数据进行汇总处理并保存到数据库216;
运行图形界面31的主控制台主机32(可以和系统监控主机22相同)负责读取数据库216的数据,以各种图形及文字方式显示数据。
监控代理程序11采用了模块化的设计思想,由一个主模块111和配置文件113和若干个功能模块112组成:
配置文件113用于设定相关选项和参数;
主模块111首先根据配置文件113中的相关信息初始化监控代理程序,加载各个功能模块,然后进入循环,处理数据接受与发送;
功能模块112主要负责各种数据的采集。
监控代理程序11可以通过其配置文件113中设定,动态组装多个不同功能的功能模块112,从而很容易的实现新的监控功能的扩张;功能模块112采集的数据,采用了跨平台的数据格式XDR(External Data Representation,外部数据表示)来表示,从而也能很容易支持异构结点与设备,当系统中有异构结点或设备引入时,只需为新引入结点或设备编写对应的功能模块112即可;综述,本发明两大特点:良好的功能扩展性和支持异构系统就是通过功能模块112的动态组装机制来实现的。
主模块111根据配置文件113中设定的值和选项,加载和初始化各个功能模块112,然后进入循环,调用各个功能模块112采集,接受组内数据并发送数据。参见图6,其具体步骤如下:
步骤11101:监控代理程序11启动运行;
步骤11102:读取配置文件113,配置文件113中指定了各个运行期参数,以及各个功能模块112的配置信息;
步骤11103:如果配置文件113中指定程序以守护进程运行,执行步骤11104,否则执行步骤11105;
步骤11104:监控代理转变为守护进程,此时监控代理程序11以普通的后台服务程序的方式运行;
步骤11105:初始化配置文件113指定的功能模块112,即调用功能模块112中的模块初始函数1122(参见图7);
步骤11106:注册各个功能模块回调函数,该回调函数为指向功能模块处理函数1123(参见图7)的指针;
步骤11107:如果配置文件113中DEAF(聋模式,即不接收数据)模式字段的值为yes,则监控代理程序11以DEAF模式运行,执行步骤11109,如果DEAF模式字段的值为no,则监控代理程序以非DEAF模式运行,执行步骤11108;
步骤11108:设置监听端口,如果监控代理程序11运行在非DEAF模式下,则监控代理程序会监听多播组的端口以接受组内其它结点组播的数据;
步骤11109:如果配置文件113中MUTE模式字段的值为yes,且此时DEAF模式字段值也为yes,执行步骤11121,如果此时DEAF模式字段的值为no,执行步骤11111;如果配置文件113中MUTE(哑模式,即不发送数据)模式字段的值为no,则监控代理程序以非MUTE模式运行,执行步骤11110;
步骤11110:注册数据采集组,即将各个功能模块112的回调函数分组,待以后批次调用;
步骤11111:初始化内存散列镜像,内存散列镜像用于保存最新的采集数据,采用散列的方式,可以加速相关测量项数据更新时的查找速度,也可以加速之后响应XML(Extensible Markup Language,可扩展标记语言)数据请求时的数据处理速度;
步骤11112:判断是否接收到终止信号,如果接收到终止信号,则执行步骤11121,如果没有接收到终止信号,则执行步骤11113;
步骤11113:如果以DEAF模式运行,执行步骤11115,否则执行步骤11114;
步骤11114:轮询监听端口,接收外部数据,此步骤为接收组内其它结点组播的数据;
步骤11115:如果以MUTE模式运行,执行步骤11118,否则执行步骤11116;
步骤11116:调用模块处理函数1123,采集本机数据;
步骤11117:组播本机数据,即把本机的数据组播到组内;
步骤11118:判断是否有XML数据请求,如果有,则执行步骤11119,否则执行步骤111120;
步骤11119:发送集群镜像数据,即以XML格式发送本机散列镜像中保存的所有最新数据;
步骤11120:休眠若干秒,具体由配置文件113指定,此后重复步骤11112。
功能模块112是监控代理程序11中负责具体数据采集的模块,可以根据需要,按需的为监控代理程序11实现和组装多个功能模块112。采取这种模块动态组装的方式,可以非常灵活地实现功能的扩展,并且使得系统能够很容易的实现升级。
参见图7,功能模块112具体由如下4个部分组成:
1)模块结构体1121,
2)模块初始化函数1122,
3)模块处理函数1123,
4)模块清理函数1124。
所述的模块结构体1121包含下列属性字段:
1)模块名称字段,
2)动态链接库加载句柄字段,
3)性能测量项列表指针字段,
4)模块参数列表指针字段,
5)模块配置文件指针字段,
6)模块初始化函数指针字段,
7)模块处理函数指针字段,
8)模块清理函数指针字段。
所述的性能测量项是一个结构体,包含下列属性字段:
1)性能测量项名称字段,
2)性能测量项采集时间阈值字段,
3)性能测量项返回值类型字段,
4)性能测量项返回值单位字段,
5)性能测量项描述信息字段。
模块初始化函数1122用于初始化本模块,其地址值被赋给模块结构体1121的模块初始化函数指针字段,主模块111加载功能模块112时,调用其初始化函数1122初始化功能模块112。
模块处理函数1123用于采集性能测量项的数据,该模块处理函数1123有一个整型参数作为上述性能测量项列表的索引,为相应性能测量项采集数据。
模块清理函数1124用于在本模块卸载或者监控代理程序11退出时清理本模块占用的系统资源。
主监控程序21运行在系统监控主机22之上,主要负责从所有组的数据源结点接收数据,并对数据进行汇总,并将数据保存到数据库之中。参见图4,主监控程序21有主监控模块211,配置文件212,数据收集模块213,数据汇总处理模块214,数据输出模块215和数据库216组成,其中:
1)主监控模块211用于读取和解析配置文件212,建立网络连接,并依次循环调用数据收集模块213、数据汇总模块214、数据库输出模块215;
2)配置文件212用于指定数据源列表及程序的运行期参数;
3)数据收集模块213用于从数据源收集数据;
4)数据汇总处理模块214用于将收集的数据进行统计汇总;
5)数据输出模块215用于存储数据到数据216中。
参见图8,主监控模块211的执行步骤如下:
步骤2100:主监控程序21启动;
步骤2101:读取配置文件212;
步骤2102:提取数据源信息,此步骤用于获取数据来源信息,具体在配置文件212中指定;
步骤2103:创建散列存储镜像,数据收集模块213收集到的数据保存保存在散列存储镜像中,使用散列的方式能加速后续处理时的查找速度;
步骤2104:如果配置文件212中指定程序以守护进程运行,执行步骤2104,否则执行步骤2106;
步骤2105:转变为守护进程;
步骤2106:创建交互服务套接字,这是主监控程序21的一个额外功能,即提供交互式的数据查询服务,该服务要求提供查询参数;
步骤2107:创建非交互服务套接字,这是主监控程序21的另一个额外功能,即提供非交互式的数据查询服务,该服务不要求提供查询参数,会以XML的方式,将返回散列存储镜像中当前最新状态数据;
步骤2108:创建Y个交互服务线程,Y是在配置文件中指定的参数值,该类线程用于提供交互服务;
步骤2109:创建Y/2个非交互服务线程,该类线程用于提供非交互服务;
步骤2110:创建清理线程,清理线程用于清理运行期间产生的额外数据;
步骤2111:清除旧数据,将上一次循环所采集和汇总的数据域清零,便于后续数据填充;
步骤2112:所有数据源加入队列,将配置文件212中指定的所有数据源加入组成队列,在后续步骤中对队列中的每个数据源进行处理;
步骤2113:如果数据源队列为空,执行步骤2117,否则执行步骤2114;
步骤2114:读取队首数据源数据,此步骤用于收集队列的首数据源的集群监测数据,并保存到散列存储镜像中;
步骤2115:汇总队首数据源数据;
步骤2116:移除队首数据源,此后重复步骤2113;
步骤2117:输出数据到数据库216;
步骤2118:休眠Z秒,此后重复步骤2111,Z是配置文件中指定的参数值;
图形界面31运行于主控制台主机32之上,参见图5,图形界面31采用了B/S的结构,由前端显示模块311、后端请求处理模块312以及图4中指定的数据库216组成,其中:
1)前端显示模块311主要以浏览器网页的形式提供,其内容为集群历史和当前的性能状态,可能的异常事件等,显示的方式包括曲线图、柱状图、饼图等各种图形以及文字说明,此外,还提供查询输入功能,供用户按需查询数据。
2)后端请求处理模块312主要用于响应来自前段显示模块311的各种请求,从数据库216提取数据并返回给前段显示模块311。
为了节约资源并减少网络通信,提高网络速度,通常可以将后端请求处理模块312运行于系统监控主机22之上,即将主控制台主机32和系统监控主机22合二为一。
以上实施例仅用以说明而非限制本发明所涉及的技术方案,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,本发明的技术方案可以进行修改、变形或者等同替换;而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围之中。
Claims (1)
1.一种易扩展的、支持异构集群的监控系统,其特征在于:它包括监控代理程序、主监控程序和图形界面;该监控代理程序运行在被监控的结点机之上,结点机通过局域网连接起来形成一个组,组内选出一个数据源结点,监控代理程序向组内所有结点广播本机的性能监测数据,数据源结点接收其它结点的数据并保存到本地;该主监控程序运行在监控主机之上,监控主机与所有的数据源结点相连,主监控程序周期性的向数据源结点采集该数据源所在组的所有结点的性能监测数据,并将采集到的数据保存到数据库中;该图形界面的后端请求处理模块从数据库中获取相关的数据,并发送到前端显示模块,前端显示模块将数据进行可视化显示,并提示告警信息;
所述的监控代理程序由一个主模块和功能模块组成,该主模块在启动时分析初始化参数,读取配置文件中功能模块的配置信息,并根据配置信息加载并初始化各个功能模块;主模块根据配置文件中指定的本结点所属组的配置,使本机运行的监控代理程序加入一个组,并在采集到数据后向同组内的所有结点发送所采集到的本机相关数据;主模块还根据配置信息,决定是否接受相同组内其它结点机发送过来的数据,并保存在本机内存中;上述接收和发送的数据格式采用的是XDR即外部数据表示定义的,系统通过该格式的数据来实现异构结点和设备的通信;主模块使用散列表的方式保存的各种性能测量项数据;主模块负责响应外部对监控代理程序的数据请求,并对这些请求采用了访问控制列表机制进行过滤,以防止恶意请求,保障系统安全;主模块中有一个列表,该列表保存了所有的功能模块的引用结构体;主模块还按照一定的时间间隔调用各个功能模块中的处理函数,执行功能模块所提供的功能,采集相关数据;该功能模块负责具体数据的采集,它由四个部分组成:一个描述本功能模块的模块结构体、一个模块初始化函数、一个模块处理函数和一个模块清理函数;上述的模块结构体包含下列属性字段:
1)模块名称字段,
2)动态链接库加载句柄字段,
3)性能测量项列表指针字段,
4)模块参数列表指针字段,
5)模块配置文件指针字段,
6)模块初始化函数指针字段,
7)模块处理函数指针字段,
8)模块清理函数指针字段;
该性能测量项是一个结构体,包含下列属性字段:
1)性能测量项名称字段,
2)性能测量项采集时间阈值字段,
3)性能测量项返回值类型字段,
4)性能测量项返回值单位字段,
5)性能测量项描述信息字段;
上述的模块初始化函数用于初始化本模块,其地址值被赋给上述模块结构体的模块初始化函数指针字段,上述主模块加载功能模块时,调用该功能模块初始化函数;
上述的模块处理函数用于采集性能测量项的数据,该函数有一个整型参数,该函数以该参数作为上述性能测量项列表的索引,为相应性能测量项采集数据;
上述的模块清理函数用于在模块卸载或者监控代理程序退出时清理本模块占用的系统资源;
所述的主监控程序从一个组内的监控代理中选出一个代表作为数据源,采用轮询的方式,从该数据源读取集群内所有结点的性能数据,并保存到数据库中;该轮询的时间间隔是通过配置文件指定的;该主监控程序与数据源之间的数据传输采用的是XML即可扩展标记语言格式的文档,系统通过XML数据格式来实现异构结点之间的通信;该XML数据格式是用DTD即文档类型定义定义的,DTD所含的内容是根据本系统的需求定义的,用于XML消息的有效性验证;主监控程序还提供其所监控的集群的数据请求服务,主监控程序的配置文件中有一个访问控制列表,主监控程序只向访问控制列表中的结点提供数据请求服务;
所述的图形界面由前端显示模块和后端请求处理模块两部分组成;该前端显 示模块是以万维网网页方式提供的,页面中,常量信息以文字的方式显示,动态变化的数据使用曲线图、柱状图并加注文字说明的方式显示;前端显示模块显示的内容为上述监控代理程序各个功能模块所采集的性能测量项的数据,前端显示模块显示的数据采用增量更新的方式,提高响应速度,减少数据传输量;前端显示模块包含一个初始页面,初始页面显示集群整体的描述信息、当前性能状态,集群统计信息;上述的集群统计信息包含集群结点总数、集群结点类型及该类型的结点数量的信息;前端部分的各个页面还提供了大量的超链接,通过链接可以方便的查看集群中的某个子集群、某个结点与设备的性能状态;该后端请求处理模块负责接收前端部分发送的请求,根据请求查询数据库,并把数据发送回前端显示模块,供其显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100934424A CN101667034B (zh) | 2009-09-21 | 2009-09-21 | 一种易扩展的、支持异构集群的监控系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100934424A CN101667034B (zh) | 2009-09-21 | 2009-09-21 | 一种易扩展的、支持异构集群的监控系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101667034A CN101667034A (zh) | 2010-03-10 |
CN101667034B true CN101667034B (zh) | 2011-06-22 |
Family
ID=41803677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100934424A Expired - Fee Related CN101667034B (zh) | 2009-09-21 | 2009-09-21 | 一种易扩展的、支持异构集群的监控系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101667034B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854270A (zh) * | 2010-04-23 | 2010-10-06 | 山东中创软件工程股份有限公司 | 多系统运行状态监控方法及系统 |
CN101853179B (zh) * | 2010-05-10 | 2012-09-26 | 深圳市极限网络科技有限公司 | 基于插件执行任务分解的通用分布式动态运算技术 |
CN102104628B (zh) * | 2010-12-29 | 2013-11-27 | 北京新媒传信科技有限公司 | 一种服务器集群系统及其管理方法 |
CN102158540A (zh) * | 2011-02-18 | 2011-08-17 | 广州从兴电子开发有限公司 | 分布式数据库实现系统及方法 |
CN102340415B (zh) * | 2011-06-23 | 2014-04-16 | 北京新媒传信科技有限公司 | 一种服务器集群系统的监控方法和一种服务器集群系统 |
CN102279747A (zh) * | 2011-08-21 | 2011-12-14 | 中国海洋大学 | 面向文件的监测信息显示软件系统及设计方法 |
CN102497292A (zh) * | 2011-11-30 | 2012-06-13 | 中国科学院微电子研究所 | 计算机集群监控的方法及系统 |
CN102801578B (zh) * | 2012-06-28 | 2015-08-05 | 郑州郑大信息技术有限公司 | 一种交易平台的监控系统 |
CN103036736B (zh) * | 2012-11-30 | 2015-09-23 | 航天恒星科技有限公司 | 一种基于数据源的组态化设备监控系统及方法 |
CN103150324A (zh) * | 2012-12-26 | 2013-06-12 | 人民搜索网络股份公司 | 一种基于链式处理的数据收集系统及其方法 |
CN103701661B (zh) * | 2013-12-23 | 2017-08-25 | 浪潮(北京)电子信息产业有限公司 | 一种实现节点监控的方法及系统 |
CN103678700A (zh) * | 2013-12-27 | 2014-03-26 | 纳容众慧(北京)科技有限公司 | 网页数据的处理方法和装置 |
CN103744682B (zh) * | 2014-01-24 | 2017-02-08 | 中国科学院自动化研究所 | 一种分开编译异构混编程序的方法和系统 |
CN104468274A (zh) * | 2014-12-16 | 2015-03-25 | 深圳大学 | 一种集群监控管理方法及系统 |
CN105827678B (zh) * | 2015-01-07 | 2019-03-05 | 中国移动通信集团山东有限公司 | 一种基于高可用架构下的通信方法和节点 |
CN104915279A (zh) * | 2015-05-20 | 2015-09-16 | 常州工学院 | 一种多系统状态运行监控方法及系统 |
CN105007193A (zh) * | 2015-08-19 | 2015-10-28 | 浪潮(北京)电子信息产业有限公司 | 一种多层信息处理方法、系统及集群管理节点 |
CN105187548A (zh) * | 2015-09-25 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种集群监控信息收集方法与系统 |
CN106569935A (zh) * | 2015-10-12 | 2017-04-19 | 中国石油化工股份有限公司 | 用于地球物理高性能计算的进程分析方法及系统 |
CN106301895A (zh) * | 2016-08-03 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种获取集群监控数据的容灾方法及装置 |
CN106953753B (zh) * | 2016-12-09 | 2019-12-13 | 中国电子科技集团公司第三十研究所 | 一种基于嵌入硬件模块的专用设备可信监管方法 |
CN106502185A (zh) * | 2016-12-27 | 2017-03-15 | 贵州航天南海科技有限责任公司 | 一种插接板扩展的立体车库路径规划控制系统 |
CN106597904A (zh) * | 2016-12-27 | 2017-04-26 | 贵州航天南海科技有限责任公司 | 一种插接板扩展的立体车库路径规划控制方法 |
CN106647504A (zh) * | 2016-12-27 | 2017-05-10 | 贵州航天南海科技有限责任公司 | 一种易扩展的立体车库控制方法 |
CN106647403A (zh) * | 2016-12-27 | 2017-05-10 | 贵州航天南海科技有限责任公司 | 一种插接板扩展的立体车库控制方法 |
CN107070737A (zh) * | 2017-02-07 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种通信指标数据实时监控系统和方法 |
CN108332833B (zh) * | 2018-02-07 | 2020-01-03 | 钱立文 | 一种膜卷重量读入及传输系统 |
CN108566314A (zh) * | 2018-03-06 | 2018-09-21 | 平安科技(深圳)有限公司 | 电子装置、集群环境下状态信息的获取方法及存储介质 |
CN109194752A (zh) * | 2018-09-11 | 2019-01-11 | 网御安全技术(深圳)有限公司 | 一种集群监控方法及系统 |
CN109743230A (zh) * | 2019-02-18 | 2019-05-10 | 国家计算机网络与信息安全管理中心 | 基于统计信息的监控数据传输系统 |
CN109901971A (zh) * | 2019-02-18 | 2019-06-18 | 国家计算机网络与信息安全管理中心 | 动态可编程的主机监控系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512371A (zh) * | 2002-12-27 | 2004-07-14 | 联想(北京)有限公司 | 一种大规模机群的机群管理系统及其信息处理方法 |
CN1670706A (zh) * | 2004-03-17 | 2005-09-21 | 联想(北京)有限公司 | 一种机群作业管理系统中分配计算结点的方法 |
CN1959569A (zh) * | 2006-05-17 | 2007-05-09 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 刻蚀机集群控制器 |
US20070156274A1 (en) * | 2005-12-30 | 2007-07-05 | Ulrich Dierks | Automated state estimation system for cluster tools and a method of operating the same |
-
2009
- 2009-09-21 CN CN2009100934424A patent/CN101667034B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512371A (zh) * | 2002-12-27 | 2004-07-14 | 联想(北京)有限公司 | 一种大规模机群的机群管理系统及其信息处理方法 |
CN1670706A (zh) * | 2004-03-17 | 2005-09-21 | 联想(北京)有限公司 | 一种机群作业管理系统中分配计算结点的方法 |
US20070156274A1 (en) * | 2005-12-30 | 2007-07-05 | Ulrich Dierks | Automated state estimation system for cluster tools and a method of operating the same |
CN1959569A (zh) * | 2006-05-17 | 2007-05-09 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 刻蚀机集群控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN101667034A (zh) | 2010-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101667034B (zh) | 一种易扩展的、支持异构集群的监控系统 | |
US10572513B2 (en) | Workload management in distributed database systems | |
CN104885054B (zh) | 大规模并行处理数据库中执行事务的系统和方法 | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
CN104778188A (zh) | 一种分布式设备日志采集方法 | |
CN102508709A (zh) | 购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法 | |
CN101902497B (zh) | 基于云计算的互联网信息监测系统及方法 | |
CN103186834A (zh) | 业务流程配置方法和装置 | |
CN106027328A (zh) | 一种基于应用容器部署的集群监控的方法及系统 | |
CN111221831B (zh) | 一种对广告效果数据实时处理的计算系统 | |
CN107682209A (zh) | 一种sdp大数据自动化部署监控平台 | |
CN102929613A (zh) | 操作系统的调优装置和方法 | |
US20130185283A1 (en) | Query optimization in a parallel computer system with multiple networks | |
CN107343021A (zh) | 国网云中应用的一种基于大数据的日志管理系统 | |
CN113301590B (zh) | 一种面向5g接入网的虚拟资源管控系统 | |
CN111639114A (zh) | 一种基于物联网平台的分布式数据融合管理系统 | |
CN108845865A (zh) | 一种监控服务部署方法、系统和存储介质 | |
CN101478445B (zh) | 用于信息系统监控的通用监控模型技术 | |
CN101256599A (zh) | 基于网格的分布仿真平台数据收集系统 | |
CN100518132C (zh) | 分布式交通信息存储文件系统 | |
CN107171888A (zh) | 一种基于cAdvisor的集群性能监测方法 | |
CN106730833A (zh) | 一种网络游戏业务状态监控系统及方法 | |
CN110515938B (zh) | 基于kafka消息总线的数据汇聚存储方法、设备和存储介质 | |
CN100534084C (zh) | 远程xml数据更新方法以及系统 | |
CN114666335A (zh) | 一种基于dds的分布式系统负载均衡装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110622 Termination date: 20170921 |