一种对云主机进行性能监控的监控方法

文档序号:8339497阅读:701来源:国知局
一种对云主机进行性能监控的监控方法
【技术领域】
[0001]本发明涉及云计算技术领域,尤其涉及云计算虚拟化技术中的一种对云主机进行性能的监控系统及其监控方法。
【背景技术】
[0002]在现有技术中,对开放式云主机的虚拟资源利用状态进行监控大多采用在云主机中设置中介台式计算机(Agent)的方式,该中介台式计算机通过执行相应的shell脚本程序或者分析Linux系统/proc下的信息来获取云主机的资源利用状态信息,从而准确地获取到虚拟资源使用情况,以对开放式云主机的虚拟存储资源、虚拟计算资源、虚拟带宽、数据流量等多个项目进行监控。然而,当对云主机性能需要进行的监控项目过多时,执行监控任务的云主机Agent模块会过多的占用云主机自身的虚拟资源,导致用户体验的下降。
[0003]有鉴于此,有必要对现有技术中的云主机性能的监控方法以及监控系统予以改进,以解决上述技术问题。

【发明内容】

[0004]本发明的目的在于公开一种对云主机进行性能的监控系统及其运用该监控系统实现对云主机性能进行监控的监控方法,用户可以灵活的按需制定监控项与告警策略,实现对云主机的虚拟资源利用状态的全面了解,避免当需要监控的监控项目过多时,执行监控任务的云主机Agent过多地占用云主机自身的虚拟资源。
[0005]为实现上述第一个发明目的,本发明提供了一种对云主机进行性能监控的监控方法,同时通过云主机Agent模块、计算节点Agent模块以及站点监控模块采集云主机的虚拟资源利用状态进行监控以获得监控数据,具体包括以下步骤:
[0006]S1、通过计算节点Agent模块的Libvirt API连接到KVM虚拟机管理程序,获取当前处于运行状态的云主机列表,并调用其对应的Libvirt API遍历获取所有云主机的监控数据;
[0007]S2、通过至少一个站点监控模块对云主机的网络可用性进行监控,并至少采用间隔地方式采集并计算云平台监控数据后保存至数据库;
[0008]S3、告警模块根据用户设置的告警设置规则对步骤SI至S2中所获得的所有监控数据进行告警监控。
[0009]作为本发明的进一步改进,所述步骤S2中站点监控模块对云主机进行的网络可用性监控包括HTTP监控、PING监控、TCP监控。
[0010]作为本发明的进一步改进,所述站点监控模块部署在云平台环境中的任意计算节点上和/或云平台环境中的控制节点上。
[0011]作为本发明的进一步改进,所述步骤S2中所述“至少采用间隔地方式采集并计算云平台监控数据后保存至数据库”具体为:
[0012]提取执行步骤SI后所得到的监控数据,至少采集两次计算云主机内的内存使用率、CPU利用率、磁盘读写速率以及网卡速率,并将计算结果保存至数据库。
[0013]作为本发明的进一步改进,所述步骤S3中的告警设置规则包括基础项告警设置规则、网络可用性告警设置规则、进程服务端口告警设置规则。
[0014]作为本发明的进一步改进,所述基础项告警规则的设置项包括云主机名称、监控项设置、统计周期、统计方法、重试几次后告警、告警通知组、告警方式。
[0015]作为本发明的进一步改进,所述监控项设置包括CPU使用率、内存使用率、磁盘读写率、网络出入流量、TCP连接数、系统进程数。
[0016]作为本发明的进一步改进,所述网络可用性告警规则的设置项包括监控地址、监控频率、分布检测点、重试几次后告警、响应时间阈值、告警通知组。
[0017]作为本发明的进一步改进,所述进程服务端口告警规则的设置项包括云主机IP地址、监控频率、监控项名称、告知通知组。
[0018]作为本发明的进一步改进,所述云主机Agent模块为运行在用户所访问的云主机中的采集程序,所述计算节点Agent模块为运行在计算节点中的采集程序。
[0019]作为本发明的进一步改进,所述云主机Agent模块在计算节点映射一个Linux类型的套接字文件,通过所述套接字文件与计算节点进行通信,计算节点上的采集程序周期性向套接字文件发送采集监控数据的执行指令,云主机Agent模块执行监控数据的采集操作,并将采集得到的监控数据通过所述套接字文件返回至计算节点并保存至数据库中。
[0020]作为本发明的进一步改进,所述数据库包括MySQL数据库、Oracle数据库。
[0021]为实现上述第二个发明目的,本发明提供了一种用于对云主机进行性能监控的监控系统,所述监控系统包括=HiWAgent模块、计算节点Agent模块、站点监控模块、告警模块以及数据库;
[0022]并同时通过云主机Agent模块、计算节点Agent模块以及站点监控模块采集云主机的虚拟资源利用状态进行监控以获得监控数据;
[0023]所述云主机Agent模块与所述计算节点Agent模块共同对云主机的虚拟资源利用状态进行监控,Libvirt API连接到KVM虚拟机管理程序,获取当前处于运行状态的云主机列表,调用对应的Libvirt API遍历获取所有云主机的监控数据,通过站点监控模块对云主机的网络可用性进行监控,并至少采用间隔地方式采集并计算云平台监控数据后保存至数据库,告警模块根据用户设置的告警设置规则对监控数据进行告警监控。
[0024]作为本发明的进一步改进,所述站点监控模块部署在云平台环境中的任意一台云主机上和/或云平台环境中的控制节点上,所述云主机Agent模块部署在云主机上,所述计算节点Agent模块部署在至少一个计算节点上,所述数据库部署在控制节点上,所述告警模块部署在控制节点和/或计算节点上。
[0025]与现有技术相比,本发明的有益效果是:通过本发明所示的监控系统及其监控方法,用户可以灵活的按需制定监控项与告警策略,实现对云主机的虚拟资源利用状态的全面了解,避免当需要监控的监控项目过多时,执行监控任务的云主机Agent过多地占用云主机自身的虚拟资源。
【附图说明】
[0026]图1为云主机中所部署的云主机Agent模块的不意图;
[0027]图2为本发明中的告警模块进行告警的计算机逻辑流程图;
[0028]图3为本发明用于对云主机进行性能监控的监控系统在实施例二中的示意图;
[0029]图4为本发明用于对云主机进行性能监控的监控系统在实施例三中的示意图;
[0030]图5为本发明用于对云主机进行性能监控的监控系统在实施例四中的示意图。
【具体实施方式】
[0031]下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
[0032]在详细描述本发明各实施例之前,首先对相关技术术语做阐述与界定。
[0033]l、Libvirt:—套支持虚拟化的API集合。Libvirt本身构建于一种抽象的概念之上,它为支持的虚拟机监控程序实现的常用功能提供通用的API。Libvirt起初是为专门为Xen设置的一种管理API,后来被扩展为可支持多个虚拟机的监控程序。
[0034]2、QGA(QEMU Guest Agent):QEMU的一个插件,可运行于云主机中。
[0035]3、HTTP (Hyper Text Transfer Protocol):超文本传输协议。
[0036]PING (Packet Internet Groper):因特网包探索器,一种网络诊断工具。
[0037]5、TCP (Transmiss1n Control Protocol):传输控制协议。
[0038]6、Agent:代理程序。
[0039]7、Shell:Linux 中的 Shell 脚本程序。
[0040]接下来,通过若干实施例对本发明一种对云主机进行性能监控的监控系统及其监控方法详细说明与阐述。
[0041]实施例一:
[0042]配合参照图1至图3所示,在本实施例中公开了一种对云主机进行性能监控的监控方法。在本实施例中,同时通过云主机Agent模块、计算
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1