一种易扩展的、支持异构集群的监控系统的制作方法

文档序号:6319524阅读:502来源:国知局
专利名称:一种易扩展的、支持异构集群的监控系统的制作方法
技术领域
本发明涉及一种集群监控系统,特别是涉及一种易扩展的、支持异构集群的 监控系统。其中扩展性包括集群规模的扩展和监控功能的扩张两方面,支持异构 指的是该监控系统能同时监控集群系统中的多种不同体系结构的结点机、网络设 备以及其它设备,属于计算机技术领域。(二 )
背景技术
目前,集群系统由于其卓越的性能价格比、良好的可扩展性、高可用性,已 经成为当今高性能计算机的主流。2009年6月最新的TOP 500中,有82°/。是集群 系统。集群系统是制造和运行成本极其昂贵,所以集群运行期间的性能指标应该 是可以观测的,以便用户可以根据这些性能数据调整以及优化应用程序和系统的 性能。此外,集群系统是由多个结点组成的,机群中结点故障发生率比较高,应 该提供一种故障检测方法,迅速检测和定位发生故障的结点。为了解决这些问题,人们为不同的集群开发出了不同的监控系统,这些监控 系统能实时的提取集群中各个结点的状态信息,如CPU使用率、内存占用量、主 机活动情况、是否发生故障等。 一方面集群系统管理员能够通过监控系统提供的 信息,观测集群的使用情况,快速定位、修复发生故障的结点,维护集群系统的 安全稳定运行;另一方面普通用户在集群系统上编写应用程序时,可以使用监控 系统观察该程序的资源使用情况和性能相关的信息,从而调试和优化应用程序, 提高程序的效率和集群系统的使用率。目前,比较常用的监控系统有Ganglia、 Supermon等。Gang 1 i a采用了集群分组的策略,每个结点向同 一个组内所有结点广播数据, 同时也接收来自同一个组内其它结点的数据,这样每个结点就保存了 一个分组的 全局的状态数据镜像;然后,负责监控的主机再向分组内的任意一个结点采集整 个分组的数据,并将数据处理保存到RRD数据库中。因此,Ganglia具有高可用 的特点,由于每个结点都保存了全局的状态数据,某些结点发生故障不会使监控 系统失效。但是,由于每个结点都保存了全局的数据,导致了数据的过分冗余。 此外,由于Gang 1 i a使用RRD数据库保存数据,虽然RRD数据库中的数据很便于生成图形,但是很难用于其它用途,如数据共享,数据处理,故障预测等。Supermon由一个监控程序和多个监控代理程序两部分组成1)监控程序采 用轮训的方式向监控代理程序收集数据,并将数据保存到数据库;2)监控代理 程序又分为内核模块和守护进程两部分,其中内核模块通过读取Linux内核数 据,并将数据以S-表达式的方式输出到/procs文件系统当中,守护进程则接收 监控程序的请求,读取/procs文件系统的数据并发送到监控程序。Supermon的 特点是l)数据采样率高,其最高采样率能每秒达到6000次,从而能提供更加 实时与准确的监控数据;2)独特的S-表达式数据表达方式,能很容易实现监控 数据的扩展,具备高的灵活性。但是,Superraon采用的单一监控主机的方式, 即一台监控主机负责收集,处理所有结点的数据,因此很容易导致单点故障,并 且很难适应系统规模的扩展;此外,Supermon监控代理程序的内核模块与Linux 操作系统内核是紧耦合的,每次系统内核升级,都必须重新编译和安装程序。综观现有的集群监控系统,其设计之时的集群系统中,结点规模较小(不超 过512个结点),而且所有结点都是同一体系结构。但是,随着集群系统中结点 数目的快速增长(多达数千个),集群中不断引入异构类型的新结点和设备,使 得这些历史上的监控系统既不能再适应新系统规模的增长,也不能满足当今集群 系统中的异构的需求。具体而言,现有监控系统中主要存在的问题在于不能很好地支持超大规模 的集群系统,即当机群结点数目大规模增长时,主监控结点负载急剧增长,监控 系统响应时间也变得很长,令人无法接受;此外,集群体系结构开始朝着异构方 向发展,现有的监控系统不能满足各种异构类型的新结点和设备动态增加的需求。在已有监控系统的基础之上,并针对其不足之处,本发明一种易扩展的、支 持异构集群的监控系统。相对上述监控系统,该系统有两大特色l)采用了类 似Ganglia的分组策略的层次化方法,从而很好的实现规模的扩展,并且通过采 用局部冗余的方法,既保证了监控系统的高可用性,又减少了数据的冗余,从而 进一步增强节点规模的扩展能力;2)釆用了松散耦合的模块化设计方式,能很 好的实现监控功能的增加、删除和定制,配置多种不同的监控策略,从而满足异 构集群中不同类型节点的监控需求。
发明内容
1、目的本发明的目的在于提供一种易扩展的、支持异构集群的监控系统。6该系统有两个主要的特征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,可扩展标i己语言)格式的文档, 系统通过XML数据格式来实现异构结点之间的通信。该XML数据格式是用DTD (Document Type Definition文档类型定义)定义的,DTD所含的内容是才艮据本 系统的需求定义的,用于XML消息的有效性验证。主监控程序还提供其所监控的 集群的数据请求服务。主监控程序的配置文件中有一个访问控制列表,主监控程 序只向访问控制列表中的结点提供数据请求服务。
所述的图形界面由前端显示模块和后端请求处理模块两部分组成。该前端显 示模块是以万维网网页方式提供的,页面中,常量信息以文字的方式显示,动态 变化的数据使用曲线图、柱状图并加注文字说明的方式显示。前端显示模块显示 的内容为上述监控代理程序各个功能模块所采集的性能测量项的数据。前端显示 模块显示的数据采用增量更新的方式,提高响应速度,减少数据传输量。前端显 示模块包含一个初始页面,初始页面显示集群整体的描述信息、当前性能状态, 集群统计信息。上述的集群统计信息包含集群结点总数、集群结点类型及该类型 的结点数量、以及其它相关的信息。前端部分的各个页面还提供了大量的超链接, 通过链接可以方便的查看集群中的某个子集群、或者某个结点与设备的性能状 态。该后端请求处理模块负责接收前台部分发送的请求,根据请求查询数据库, 并把数据发送回前端部分,供其显示。
在本发明中,运行监控代理程序的结点可以经过配置,形成一个组,组与组 之间是相对隔离的,组内选出一个结点作为上述的数据源结点,该数据源结点包 含了组内所有结点的性能测量项信息,可以直接响应外界的请求。
当机群中结点数量需要增加时,可以通过添加一个或者多个组的方式实现; 当机群中添加了异构结点时,可以为这些异构结点开发相应的功能模块,并把相同的异构结点划分到一个组内即可实现对这些异构结点的监控。
3、优点及功效本发明一种易扩展的、支持异构集群的监控系统,其优点及 功效是1)可扩展性好,能很好的适应系统功能的扩展和系统规模的扩展;2)支持 异构的、混杂的体系结构,能同时采用多种监控策略监控多种不种体系结构和类 型的结点与设备。
(四) 附图i兌明


图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;流程的步骤序号;
图中"…"表示省略重复。
(五)
具体实施例方式
10参见图1、图2,本发明一种易扩展的、支持异构集群的监控系统,为一个 多层结构的系统,它由监控代理程序11、主监控程序21、图形界面31组成;其 中
监控代理程序11运行在被监控的结点机12之上,多个结点机12通过局域网 连接起来形成一个组,组内选出一个数据源结点(为了实现冗余备份,可以选出多 个数据源结点,但同一时刻只有一个数据源结点向主监控程序21提供监测数据), 监控代理程序11向组内所有结点广播本机的性能监测数据,数据源结点接收其 它结点的数据并保存到本地,通过这种方式,数据源结点保存了本组内所有结点 的性能监测数据;
主监控程序21运行在监控主机22之上,监控主机22与所有的数据源结点相 连,主监控程序21周期性的向数据源结点采集该数据源所在组的所有结点的性 能监测数据,并将采集到的数据保存到数据库216中;
图形界面31的后端模块从数据库216中获取相关的数据,并发送到前端显示 模块311,前端显示模块311将数据进行可视化显示。
本发明所述的监控系统运行环境为集群系统,为了实施本发明,首先必须具 备一套集群系统,该集群系统中的结点机12通过局域网连接起来,集群中的每 个结点机运行L i nux操作系统,本发明所属的监控代理程序11,主监控程序21, 都运行在Linux操作系统之上。
参见图1、图2本发明的一个具体的实施例如下
运行监控代理程序11的结点机12通过局域网连接,同一个局域网内的结点 机12划分为 一组(也可以为多个组),在组内选出数据源结点,用于接收并保存组 内其它所有非数据源结点在组内广播的数据,并向主监控程序21提供整个组的 性能监测数据;
运行主监控程序21的系统监控主机22中,针对每一个组保存了一个数据源 列表,主监控程序21会从每个组的数据源列表中选择一个可用的数据源,获取 该组的所有结点的性能监测数据,主监控程序21还负责把接收到的数据进行汇 总处理并保存到ft据库216;
运行图形界面31的主控制台主机32 (可以和系统监控主机22相同)负责读 取数据库216的数据,以各种图形及文字方式显示数据。
监控代理程序11采用了模块化的设计思想,由一个主模块111和配置文件
11113和若干个功能模块112组成
配置文件113用于设定相关选项和参数;
主模块111首先根据配置文件113中的相关信息初始化监控代理程序,加载各个功能模块,然后进入循环,处理数据接受与发送;
功能模块112主要负责各种数据的采集。
监控代理程序11可以通过其配置文件113中设定,动态组装多个不同功能的功能模块112,从而很容易的实现新的监控功能的扩张;功能模块112采集的数据,采用了^争平台的数据格式XDR (External Data Representat ion,外部数据表示)来表示,从而也能很容易支持异构结点与设备,当系统中有异构结点或设备引入时,只需为新引入结点或设备编写对应的功能模块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 Mark叩Language,可扩展标记语言)数据请求时的数据处理速度;
步骤11112:判断是否接收到终止信号,如果接收到终止信号,则执行步骤11121,如果没有接收到终止信号,则执行步骤11113;
步骤11113:如果以DEAF模式运行,执行步骤11115,否则执行步骤11114;
步骤11114:轮询监听端口,接收外部数据,此步骤为接收组内其它结点组播的数据;
步骤11115:如果以画TE模式运行,执行步骤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。
14模块处理函数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 )数据汇总处理^t块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主要用于响应来自前段显示;f莫块311的各种请求, 从数据库216提取数据并返回给前段显示模块311。为了节约资源并减少网络通信,提高网络速度,通常可以将后端请求处理模 块312运行于系统监控主机22之上,即将主控制台主机32和系统监控主机22
合二为一。
以上实施例仅用以说明而非限制本发明所涉及的技术方案,尽管参照以上较 佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,本发明的
技术方案可以进行修改、变形或者等同替换;而不脱离本发明技术方案的精神和 范围,均应涵盖在本发明的权利要求范围之中。
权利要求
1、一种易扩展的、支持异构集群的监控系统,其特征在于它包括监控代理程序、主监控程序和图形界面;该监控代理程序运行在被监控的结点机之上,结点机通过局域网连接起来形成一个组,组内选出一个数据源结点,监控代理程序向组内所有结点广播本机的性能监测数据,数据源结点接收其它结点的数据并保存到本地;该主监控程序运行在监控主机之上,监控主机与所有的数据源结点相连,主监控程序周期性的向数据源结点采集该数据源所在组的所有结点的性能监测数据,并将采集到的数据保存到数据库中;该图形界面的后端模块从数据库中获取相关的数据,并发送到前端显示模块,前端显示模块将数据进行可视化显示,并提示告警信息;所述的监控代理程序由一个主模块和功能模块组成,该主模块在启动时分析初始化参数,读取配置文件中功能模块的配置信息,并根据配置信息加载并初始化各个功能模块;主模块根据配置文件中指定的本结点所属组的配置,使本机运行地监控代理程序加入一个组,并在采集到数据后向同组内的所有结点发送所采集到的本机相关数据;主模块还根据配置信息,决定是否接受相同组内其它结点机发送过来的数据,并保存在本机内存中;上述接收和发送的数据格式采用的是XDR即外部数据表示定义的,系统通过该格式的数据来实现异构结点和设备的通信;主模块使用散列表的方式保存的各种性能测量项数据;主模块负责响应外部对监控代理程序的数据请求,并对这些请求采用了访问控制列表机制进行过滤,以防止恶意请求,保障系统安全;主模块中有一个列表,该列表保存了所有的功能模块的引用结构体;主模块还按照一定的时间间隔调用各个功能模块中的处理函数,执行功能模块所提供的功能,采集相关数据;该功能模块负责具体数据的采集,它由四个部分组成一个描述本功能模块的模块结构体、一个模块初始化函数、一个模块处理函数和一个模块清理函数;上述的模块结构体包含下列属性字段1)模块名称字段,2)动态链接库加载句柄字段,3)性能测量项列表指针字段,4)模块参数列表指针字段,5)模块配置文件指针字段,6)模块初始化函数指针字段,7)模块处理函数指针字段,8)模块清理函数指针字段;该性能测量项是一个结构体,包含下列属性字段1)性能测量项名称字段,2)性能测量项采集时间阈值字段,3)性能测量项返回值类型字段,4)性能测量项返回值单位字段,5)性能测量项描述信息字段;上述的模块初始化函数用于初始化本模块,其地址值被赋给上述模块结构体的模块初始化函数指针字段,上述主模块加载功能模块时,调用该功能模块初始化函数;上述的模块处理函数用于采集性能测量项的数据,该函数有一个整型参数,该函数以该参数作为上述性能测量项列表的索引,为相应性能测量项采集数据;上述的模块清理函数用于在模块卸载或者监控代理程序退出时清理本模块占用的系统资源;所述的主监控程序从一个组内的监控代理中选出一个代表作为数据源,采用轮询的方式,从该数据源读取集群内所有结点的性能数据,并保存到数据库中;该轮询的时间间隔是通过配置文件指定的;该主监控程序与数据源之间的数据传输采用的是XML即可扩展标记语言格式的文档,系统通过XML数据格式来实现异构结点之间的通信;该XML数据格式是用DTD即文档类型定义定义的,DTD所含的内容是根据本系统的需求定义的,用于XML消息的有效性验证;主监控程序还提供其所监控的集群的数据请求服务,主监控程序的配置文件中有一个访问控制列表,主监控程序只向访问控制列表中的结点提供数据请求服务;所述的图形界面由前端显示模块和后端请求处理模块两部分组成;该前端显示模块是以万维网网页方式提供的,页面中,常量信息以文字的方式显示,动态变化的数据使用曲线图、柱状图并加注文字说明的方式显示;前端显示模块显示的内容为上述监控代理程序各个功能模块所采集的性能测量项的数据,前端显示模块显示的数据采用增量更新的方式,提高响应速度,减少数据传输量;前端显示模块包含一个初始页面,初始页面显示集群整体的描述信息、当前性能状态,集群统计信息;上述的集群统计信息包含集群结点总数、集群结点类型及该类型的结点数量、以及其它相关的信息;前端部分的各个页面还提供了大量的超链接,通过链接可以方便的查看集群中的某个子集群、某个结点与设备的性能状态;该后端请求处理模块负责接收前台部分发送的请求,根据请求查询数据库,并把数据发送回前端显示模块,供其显示。
全文摘要
本发明一种易扩展的、支持异构集群的监控系统,包括监控代理程序、主监控程序和图形界面;该监控代理程序运行在被监控的结点机之上,并向组内所有结点广播本机的性能监测数据;该主监控程序运行在监控主机之上,并与所有的数据源结点相连,它周期性的向数据源结点采集该数据源所在组的所有结点的性能监测数据,并将采集到的数据保存到数据库中;该图形界面的后端模块从数据库中获取相关的数据,并发送到前端显示模块,前端显示模块将数据进行可视化显示,并提示告警信息。本发明能很好的适应系统功能和规模的扩展,它支持异构的、混杂的体系结构,能同时采用多种监控策略监控多种不种体系结构和类型的结点与设备。它具有广阔地应用前景。
文档编号G05B19/418GK101667034SQ20091009344
公开日2010年3月10日 申请日期2009年9月21日 优先权日2009年9月21日
发明者祝明发, 肖利民, 肖育前, 利 阮 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1