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

文档序号:8339497阅读:来源:国知局
节点Agent模块以及站点监控模块采集云主机的虚拟资源利用状态进行监控以获得监控数据。具体包括以下步骤:
[0043]首先,执行步骤S1、通过计算节点Agent模块301、302的Libvirt API连接到KVM虚拟机管理程序,获取当前处于运行状态的云主机列表,并调用其对应的Libvirt API遍历获取所有云主机的监控数据。具体的,处于运行状态的云主机即为可用的云主机。
[0044]进一步的,所述云主机Agent模块10在计算节点20映射一个Linux类型的套接字文件11,通过所述套接字文件11与计算节点20进行通信,计算节点20上的采集程序周期性向套接字文件11发送采集监控数据的执行指令,云主机Agent模块10执行监控数据的采集操作,并将采集得到的监控数据通过所述套接字文件11返回至计算节点20并保存至数据库403中。
[0045]具体的,在本实施例中,该数据库403选用为MySQL数据库。
[0046]然后,执行步骤S2、通过至少一个站点监控模块402对云主机的网络可用性进行监控,并至少采用间隔地方式采集并计算云平台监控数据后保存至数据库403。
[0047]所述站点监控模块402实现的是对云主机的网络可用性进行监控,包括HTTP、PING以及TCP端口监控项目。所述HTTP监控指的是监控云主机站点URL,获得可用性监控以及响应时间。其中,PING监控指的是对指定的云主机进行ICMP PING检测,获得可用性监控以及响应时间、丢包率等。TCP端口监控指的是监控TCP端口的可用性和响应时间。
[0048]具体的,在本实施例中,该站点监控模块402部署在云平台100环境中的控制节点
40上。
[0049]其中,该步骤S2中所述“至少采用间隔地方式采集并计算云平台监控数据后保存至数据库”具体为:提取执行步骤SI后所得到的监控数据,至少采集两次计算云主机内的内存使用率、CPU利用率、磁盘读写速率以及网卡速率,并将计算结果保存至数据库403。
[0050]最后,执行步骤S3、告警模块401根据用户设置的告警设置规则对步骤SI至S2中所获得的所有监控数据进行告警监控。
[0051]所述告警模块401主要负责对用户所设置的监控告警规则进行实施。用户设置告警规则主要包括基础项监控、网络可用性监控以及进程服务端口监控。
[0052]所述基础项监控告警规则包括云主机名称、监控项设置、统计周期、统计方法、重试几次后告警、告警通知组以及告警方式等。
[0053]监控项设置包括CPU使用率、内存使用率、磁盘读写、网络出入流量、TCP连接数以及系统进程数。统计周期指的是对每分钟采集到的数据进行统计分析的时间间隔,可以设置为5分钟、30分钟或者I小时。在本实施例中,默认的采集周期为I分钟。
[0054]统计方法指的是对统计周期内的采集到的数据进行分析方法,包括平均值、最大值、最小值以及求和值等,如统计周期设置为5分钟,默认采集周期为I分钟,则每个统计周期内共有5个采样数据,按照统计方法对5个采样数据进行统计分析,得出的结果与所设置的告警阈值比较,即可判断出是否触发告警规则。
[0055]重试几次后告警设置指的是触发几次后才进行告警通知操作,可以设置为3次或者5次。通过该配置有效的减少了由于监控数据的抖动导致误告警的状况。
[0056]告警通知组设置指的是将告警通知发送至某一组具体的接收人。告警方式包括邮件以及短信等方式。
[0057]所述进程服务端口监控告警规则包括云主机IP地址、监控频率、具体监控项目名称以及告警通知组。所述进程监控告警规则设置项还包括重试几次后告警、CPU使用率阈值、内存使用率阈值。
[0058]所述网络可用性监控告警规则设置项包括监控地址、监控频率、分布检测点、重试几次后告警、响应时间阈值以及告警通知组。
[0059]监控地址可以设置为要监控的云主机的域名或者IP地址;监控频率指的监控执行的周期,默认为5分钟;分布检测点设置可以按需选择合适的监测点,优化监测点对云主机进行可用性检测;响应时间阈值指的是所监控的服务响应时间最大值,超过该阈值,则触发报警;重试几次告警指连续几次超过告警阈值,默认为3次,告警通知组指的是告警接收人。
[0060]所述网络可用性监控包括可用性计算,计算规则如下:可用性=状态成功的次数/采集总数。假定监控频率设定为5分钟/次,则每小时共有12次采集结果。如果其中2次采集结果的状态显示为失败,则在当前的I小时内的网络可用性为(12-2)/12 = 0.75,即可用性比率为75%。
[0061]实施例二:
[0062]本实施例中公开了一种用于对云主机进行性能监控的监控系统的一种【具体实施方式】。在本实施例中,该监控系统包括云主机Agent模块10,计算节点Agent模块301、302,站点监控模块401,告警模块401,数据库403。所述站点监控模块401,告警模块401,数据库403设置于云平台100中的控制节点40中。
[0063]在本实施例中,同时通过云主机Agent模块10、计算节点Agent模块301、302以及站点监控模块402采集云主机的虚拟资源利用状态进行监控以获得监控数据。具体的,该虚拟资源包括:虚拟存储资源、虚拟计算资源、虚拟带宽、数据流量,并适用于开放式云计算平台(例如基于OpenStack的开放式云计算平台)。
[0064]所述云主机Agent模块10、所述计算节点Agent模块301、302以及站点监控模块402共同对云主机的虚拟资源利用状态进行监控,Libvirt API连接到KVM虚拟机管理程序,获取当前处于运行状态的云主机列表,调用对应的Libvirt API遍历获取所有云主机的监控数据,通过站点监控模块402对云主机的网络可用性进行监控,并至少采用间隔地方式采集并计算云平台监控数据后保存至数据库403,告警模块401根据用户设置的告警设置规则对监控数据进行告警监控。具体的,在本实施例中,该数据库403为Oracle数据库。
[0065]如图3所示,其中图3中所示计算节点201和计算节点202指的是图1中所示的计算节点20。所述站点监控模块402可以部署在云平台100环境的控制节点40,或者任意一台可以访问外网的云主机中。用户通过WEB进行监控项及告警策略的配置。云主机监控系统接收到请求后启动监控与告警功能。
[0066]计算节点Agent201,202、云主机Agent模块10与站点监控模块402分别进行监控工作,将监测到的数据保存至数据库403中。告警模块401对数据库403中数据进行分析,判断是否触发告警规则。当满足告警条件时,通过用户配置的告警方式发送告警通知至告警模块,从而完成监控告警流程。
[0067]具体的,参图2所示,告警模块401首先执行步骤101:读取数据库信息后,跳转执行步骤102:判断是否到达统计阈值;若否,则返回步骤101 ;若是,则跳转执行步骤103:告警次数加I。然后跳转执行步骤104:判断是否达到重试次数。若是,则跳转执行步骤101,若否,则跳转执行步骤105:发送告警信息并将告警次数清零。然后跳转执行步骤106:判断是否结束告警;若是,则告警结束;若否则返回步骤101继续由告警模块401读取数据库信息。
[0068]在本实施例中,该云主机Agent模块10为运行在用户所访问的云主机的采集程序12,所述计算节点Agent301,302为运行在计算节点201,202中的采集程序。告警模块401的告警设置规则与实施例一相同,在本实施例中不再赘述。
[0069]该站点监控模块402部署在云平台100环境中的控制节点40上,该云主机Agent模块10部署在云主机上,该计算节点Agent模块301部署在计算节点201上,计算节点Agent模块302部署在计算节点202上,数据库403部署在控制节点40上,该告警模块402部署在控制节点40上。具体的,在云平台100中,控制节点40与计算节点201、202通过数据库操作语言进行通信以及交换数据等操作。
[0070]实施例三:
[0071]请参图4所示的本发明一种对云主机进行性能监控的监控系统的第二种实施例。本实施例与实施例二的
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1