首页> 中国专利> 一种基于云平台的分布式可扩展资源监控系统及方法

一种基于云平台的分布式可扩展资源监控系统及方法

摘要

本发明涉及一种基于云平台的分布式可扩展资源监控系统及方法,包括用于存储目标监控对象配置信息的监控对象数据库,用于根据目标监控设备信息组件采集任务,将采集任务分配给采集服务器,同时维护所有采集服务器的状态和性能的采集管理节点;用于监控采集任务的调度,采集插件的管理以及对采集结果数据的存储的采集服务器;用于存储采集服务器的注册信息及状态信息的管理节点数据库;用于存储采集服务器采集的数据的性能数据库。本发明为用户提供精确、实时的监控数据,用户通过对监控数据的分析,可以迅速感知到系统资源是否能够支撑当前业务需求或存在过度冗余,从而达到业务稳定运行和资源最大化利用的目的。

著录项

  • 公开/公告号CN104486445A

    专利类型发明专利

  • 公开/公告日2015-04-01

    原文格式PDF

  • 申请/专利权人 北京天云融创软件技术有限公司;

    申请/专利号CN201410838425.X

  • 发明设计人 张行;陈博;

    申请日2014-12-30

  • 分类号H04L29/08(20060101);G06F17/30(20060101);

  • 代理机构北京科亿知识产权代理事务所(普通合伙);

  • 代理人汤东凤

  • 地址 100176 北京市大兴区北京经济技术开发区地盛北街1号18号楼6层604号

  • 入库时间 2023-12-17 04:48:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-22

    授权

    授权

  • 2015-05-20

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20141230

    实质审查的生效

  • 2015-04-01

    公开

    公开

说明书

技术领域

本发明涉及云计算技术领域,尤其涉及一种基于云平台的分布式可扩展 资源监控系统及方法。

背景技术

随着计算机技术尤其是云计算的飞速发展,云中设备的资源状态目前无 法得到精确、连续的监控数据,以至于用户无法迅速感知到系统资源是否能 够支撑当前的业务需求或是否存在过度冗余,也就很难做到业务的稳定运行 和资源最大化利用。因此,需要一种监控系统对设备进行监控,准确、连续 的获取设备数据。

发明内容

本发明所要解决的技术问题是针对现有技术的不足,提供一种稳定易 用、易拓展、支持多资源、易实施的基于云平台的监控系统及方法。

本发明解决上述技术问题的技术方案如下:一种基于云平台的分布式可 扩展资源监控系统,包括监控对象数据库、一个采集管理节点、至少一个采 集服务器、管理节点数据库和性能数据库;

所述监控对象数据库,其用于存储目标监控对象的配置信息;

所述采集管理节点,其用于根据目标监控设备信息组件采集任务,将采 集任务分配给采集服务器,同时维护所有采集服务器的状态和性能;

所述采集服务器,其用于监控采集任务的调度,采集插件的管理以及对 采集结果数据的存储;

所述管理节点数据库,其用于存储采集服务器的注册信息及状态信息;

所述性能数据库,其用于存储采集服务器采集的数据一种。

本发明的有益效果是:本发明所述系统能及时感知到被监控对象配置信 息的变化从而保证系统时刻都是在采集应该采集的对象,而且在能准确无误 地采集到各种已支持设备的性能和状态信息,提供了非常好的容错机制,监 控系统中任何一个组件出现异常都可在短时间内恢复到正常工作状态,而且 对于未来进一步拓展采集插件提供了非常良性的接口。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,所述采集管理节点启动时或者每隔一个定周期主动从监控对象 数据库中读取所有设备配置信息,根据获取的所有设备配置信息组件相应的 采集任务,将采集任务存储到管理节点数据库。

进一步,所述采集管理节点包括配置文件存储模块,其存储有设备分配 规则配置文件和预定义任务配置文件。

进一步,所述采集管理节点采用系统预定义方式或用户自定义方式组件 采集任务;

所述系统预定义方式建立采集任务具体为:读取采集设备分配规则配置 文件和预定义任务配置文件,获取采集设备分配规则和预定义任务,根据每 一个预定义任务的设备类型从监控对象数据库中获取所有该设备类型的设 备,用每一个设备与采集设备分配规则进行比对,获得该设备对应的采集服 务器信息,得到采集服务器和被监控设备的映射关系,根据映射关系中采集 服务器个数组建相应个数的采集任务,将采集任务加入待分配任务列表,等 待分配;

所述用户自定义方式组建采集任务的具体实现为:用户根据自身需求, 通过预留接口直接组建采集任务,将采集任务加入待分配任务列表,等待分 配。

进一步,所述采集服务器采用集中式管理,每个采集服务器启动时向采 集管理节点注册自身信息,采集管理节点根据获得采集服务器注册信息更新 管理节点数据库,所述采集管理节点更新管理节点数据库具体为:更新管理 节点数据库中采集服务器信息,查询管理节点数据库中对应此采集服务器是 否存在相应的采集任务,如果查询结果不为空则更新该采集服务器的采集任 务列表。

进一步,所述采集服务器监控采集任务的调度,根据采集任务的类型以 及采集周期,查询采集服务器自身维护的采集插件信息,调用采集插件的采 集设备分配方法,采集插件返回与被监控设备相等个数的数据采集线程,采 集服务器维护所述数据采集线程并根据采集周期定时调用相应的数据采集 线程进行数据采集,并将采集的数据返回给采集服务器;采集服务器将采集 的数据存储在性能数据库中。

进一步,所述采集管理节点定时向所有采集服务器发送消息,监控采集 服务器的服务状态,将采集服务器的状态信息和相应时间存储入管理节点数 据库。

进一步,所述采集管理节点和各个采集服务器均配备有第三方进程保护 工具。

进一步,所述第三方进程保护工具采用Supervisord,用于保证所述监 控系统自身的健壮性。

本发明解决上述技术问题的另一技术方案如下:一种基于云平台的分布 式可扩展资源监控方法,包括如下步骤:

步骤1,采集管理节点获取目标监控设备信息;

步骤2,根据目标监控设备信息组件采集任务,将采集任务下发到采集 服务器;

步骤3,采集服务器监控采集任务的调度,采集插件的管理以及对采集 结果数据的存储。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,步骤2中采用系统预定义方式或用户自定义方式组件采集任务;

所述系统预定义方式建立采集任务具体为:读取采集设备分配规则配置 文件和预定义任务配置文件,获取采集设备分配规则和预定义任务,根据每 一个预定义任务的设备类型从监控对象数据库中获取所有该设备类型的设 备,用每一个设备与采集设备分配规则进行比对,获得该设备对应的采集服 务器信息,得到采集服务器和被监控设备的映射关系,根据映射关系组件相 应个数的采集任务,将采集任务加入待分配任务列表,等待分配;

所述用户自定义方式组建采集任务的具体实现为:用户根据自身需求, 通过预留接口直接组建采集任务,将采集任务加入待分配任务列表,等待分 配。

进一步,步骤3中采集服务器监控采集任务的调度的具体步骤为:根据 采集任务的类型以及采集周期,查询采集服务器自身维护的采集插件信息, 调用采集插件的采集设备分配方法,采集插件返回与被监控设备相等个数的 数据采集线程,采集服务器维护所述数据采集线程并根据采集周期定时调用 相应的数据采集线程进行数据采集,并将采集的数据返回给采集服务器;采 集服务器将采集的数据存储在性能数据库中。

附图说明

图1为本发明所述一种基于云平台的分布式可扩展资源监控系统框图;

图2为本发明所述一种基于云平台的分布式可扩展资源监控方法流程 图;

图3为本发明所述预定方式组件采集任务方法流程图;

图4为本发明所述采集服务器注册流程图;

图5为本发明所述采集管理节点查询采集服务器状态方法流程图;

图6为本发明所述采集任务调度方法流程图。

附图中,各标号所代表的部件列表如下:

1、监控对象数据库,2、采集管理节点,3、采集服务器,4、管理节点 数据库,5、性能数据库。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本 发明,并非用于限定本发明的范围。

如图1所示,一种基于云平台的分布式可扩展资源监控系统,需要进行 如下搭建:配置监控对象数据库,将需要监控对象的配置信息存储在监控对 象数据库中;配置管理节点数据库,在管理节点数据库中建立采集管理节点 需要的数据库表;配置性能数据库,在性能数据库中建立各个采集服务器需 要的数据库表;配置采集管理节点,将采集管理节点部署在一台装有Tomcat 环境的服务器上,编辑监控设备分配规则配置文件,配置监控对象数据库和 管理节点数据库的地址;配置采集服务器,根据业务需要确定采集服务器的 数量,在每个采集服务器主机上安装一套采集服务器程序,并配置好管理节 点地址以及性能数据库地址。

一种基于云平台的分布式可扩展资源监控系统,包括监控对象数据库 1、一个采集管理节点2、至少一个采集服务器3、管理节点数据库4和性能 数据库5;所述监控对象数据库1,其用于存储目标监控对象的配置信息; 所述采集管理节点2,其用于根据目标监控设备信息组件采集任务,将采集 任务分配给采集服务器,同时维护所有采集服务器的状态和性能;所述采集 服务器3,其用于监控采集任务的调度,采集插件的管理以及对采集结果数 据的存储;所述管理节点数据库4,其用于存储采集服务器的注册信息及状 态信息;所述性能数据库5,其用于存储采集服务器采集的数据一种。

如图2所示,一种基于云平台的分布式可扩展资源监控方法,包括如下 步骤:

步骤1,采集管理节点获取目标监控设备信息;

步骤2,根据目标监控设备信息组件采集任务,将采集任务下发到采集 服务器;

步骤3,采集服务器监控采集任务的调度,采集插件的管理以及对采集 结果数据的存储。

本发明所述系统具有以下特性。

1.基于云平台:

该监控系统能够监控云平台所管理的各种资源,包括计算资源(物理机, HYPERVISOR,虚拟机)、存储设备、网络设备(交换机,路由器,负载均衡, 防火墙)以及应用程序(Tomcat,Apache,MySQL)等未来可能要拓展的资 源。

该监控系统的架构是分布式的,由一个采集管理节点(Col lectManager) 和若干个采集服务器(Col lectServer)组成。所述采集管理节点,负责监控 系统中采集任务的管理、分配,同时维护所有采集服务器的信息和状态。所 述采集服务器,负责监控采集任务的调度,采集插件的管理以及对采集结果 数据的存储。

2.易扩展:

监控系统不仅仅能够对上文所提到的资源实施监控,同时也非常方便支 持开发自定义插件来监控未来要拓展的资源。目前,系统中共有4种类型的 插件,物理机插件、Hypervisor插件、虚拟机插件和应用程序插件,它们统 一拓展系统中预留的接口并返回固定格式的数据。未来要拓展的插件:首先 要拓展系统预留的采集插件接口,在这个接口下实现采集任务分配方法返回 的值的是采集线程集合;然后拓展采集线程这个接口,在这个接口下实现数 据采集的具体过程,返回值是系统要求的固定格式。

3.系统稳定性保证:

监控系统提供了采集服务器状态监测机制、每一个系统组件(包括采集 管理节点和每一个采集服务器)都配备一个第三方进程监控工具 ——Supervisord。Supervisord能够在进程出现中断的情况下重新启动这个 进程,保证程序的能够自恢复运行。利用Supervisord工具的进程自恢复机 制来保证系统任何状态下都能对外提供稳定的服务。

监控系统还对所有的采集服务器提供了心跳机制,避免了了采集服务器 进程存在但是服务不正常工作的情况。

例如:采集管理节点重启,与采集任务信息的管理一样。采集服务器重 启,与系统中所有采集服务器信息管理和服务状态管理流程一样。

监控对象数据来源:

监控系统所需要监控对象的配置信息存储在监控对象数据库中,所述采 集管理节点2启动时或者每隔一个定周期主动从监控对象数据库中读取所有 设备配置信息,根据获取的所有设备配置信息组件相应的采集任务,将采集 任务存储到管理节点数据库。保证及时监控到更新的监控对象。

采集任务信息管理:

如图3所示,所述采集管理节点2包括配置文件存储模块,其存储有设 备分配规则配置文件和预定义任务配置文件。所述采集管理节点采用系统预 定义方式或用户自定义方式组件采集任务。

所述系统预定义方式建立采集任务具体为:采集管理节点启动或者重启 时,读取采集设备分配规则配置文件和预定义任务配置文件,获取采集设备 分配规则和6个预定义任务(分别是物理机的性能和状态、Hypervisor的性 能和状态、虚拟机的性能和状态任务),且这6个预定义任务的采集周期均 是每5分钟一次。遍历6个预定义任务,根据每一个预定义任务的设备类型 从监控对象数据库中获取所有该设备类型的设备,用每一个设备与采集设备 分配规则进行比对,获得该设备对应的采集服务器信息,得到采集服务器和 被监控设备的映射关系,根据映射关系中采集服务器个数组建相应个数的采 集任务,将采集任务加入待分配任务列表,等待分配。

所述用户自定义方式组建采集任务的具体实现为:用户根据自身需求, 通过预留接口直接组建采集任务,将采集任务加入待分配任务列表,等待分 配。

对采集任务的管理除了包括采集任务的组件外,还包括通过系统预留接 口对采集任务的删除、更改、查询和分配:

通过系统预留接口查询监控采集管理节点下所有的任务信息,也可以查 询某一采集服务器下的所有任务信息。

对于采集任务存储和分配包括:

第一,在采集管理节点启动、重启或定时刷新时,在采集管理节点2都 会发生监控采集任务的重新组建,然后根据监控采集任务中的采集服务器信 息将此监控采集任务下发到对应的采集服务器。

第二,在采集服务器启动时向采集管理节点注册自身信息,采集管理节 点都会去采集管理节点数据库中查询这个采集服务器是否有任务需要执行, 如果查询结果不为空就把任务信息更新给这个采集服务器,如果为空则什么 也不做。

系统中所有采集服务器信息管理和服务状态管理:

如图4所示,所述采集服务器3采用集中式管理,每个采集服务器 (Col lectServer)3启动时向采集管理节点(Col lectManager)2注册自身信 息,采集管理节点2根据获得采集服务器注册信息更新管理节点数据库4, 所述采集管理节点2更新管理节点数据库4具体为:更新管理节点数据库4 中采集服务器信息,查询管理节点数据库4中对应此采集服务器3是否存在 相应的采集任务,如果查询结果不为空则更新该采集服务器的采集任务列 表。

如图5所示,采集管理节点2定时向所有采集服务器3发送消息,监控 采集服务器的服务状态,将采集服务器的状态信息和相应时间存储入管理节 点数据库。

采集任务调度:

如图6所示,所述采集服务器3监控采集任务的调度,根据采集任务的 类型以及采集周期,查询采集服务器自身维护的采集插件信息,调用采集插 件的采集设备分配方法,采集插件返回与被监控设备相等个数的数据采集线 程,采集服务器维护所述数据采集线程并根据采集周期定时调用相应的数据 采集线程进行数据采集,并将采集的数据返回给采集服务器;采集服务器将 采集的数据存储在性能数据库中。

采集任务格式说明:

采集任务字段:

字段说明:

任务ID:监控采集任务的唯一标识

采集服务器IP地址:执行此任务的采集服务器地址

采集服务器端口:执行此任务的采集服务器的开放端口

设备类型:这个任务所采集的设备的类型

目标设备:这个任务所有采集的所有设备信息、

任务状态:这个任务目前的状态

数据指标类型:这个任务所要采集的指标的类型(性能还是状态)。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发 明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号