云计算平台下资源监控系统的设计与开发

时间:2022-05-09 01:38:55

云计算平台下资源监控系统的设计与开发

摘 要: 传统的集群监控软件无法识别虚拟机虚拟化层的存在,同时,环境的伸缩、虚拟机的频繁增减也对监控系统提出新的需求。针对上述问题设计并实现了CloudMonitor,即一种面向云计算环境的监控系统,提出了一种多级监控服务器结构,解决主机之间不能相互访问的问题;另外,每个机群都有一个机群监控服务器,机群监控服务器负责处理机群中节点的监控信息,减轻了中心服务器的负担,有效增加了整个监控系统的监控规模。系统在开源监控系统Nagios的基础上结合传统机群监控软件的优点和虚拟化技术的特点,可以监控云计算环境下的各类资源。CloudMonitor已在实验性云基础平台上集成运行,并验证了其设计目标。

关键词: 云计算; 资源监控; 机群管理; 虚拟机群

中图分类号: TN911?34; TM417 文献标识码: A 文章编号: 1004?373X(2016)09?0057?04

Abstract: The traditional cluster monitoring system can′t identify the virtualization level of the virtual machine, so the new requirement for monitoring system is put forward due to the change of environment and virtual machine quantity. For the above problems, CloudMonitor, a monitoring system based on cloud computing environment was designed and implemented. A multistage monitoring server structure is proposed to solve the mutual access problem among host computers. Each machine cluster has a cluster monitoring server to deal with the node monitoring information in the cluster, which can alleviate the burden of the center server, and effectively enlarge the monitoring scale of the whole monitoring system. On the basis of the open?source monitoring system Nagios, the advantages of the traditional cluster monitoring software and virtualization technology are integrated in the system to monitor various sources in cloud computing environment. The CloudMonitor was operated on the cloud computing platform, and its design target was verified.

Keywords: cloud computing; resource monitoring; cluster management; virtual cluster

0 引 言

云计算作为全新的计算模式,是下一代信息技术的焦点,具有不言而喻的重要性,将给整个产业乃至全社会带来重大变革。在国内产业界,中兴在实践中开发了一种海量数据云存储技术,以较低的成本 解决了高速、海量的数字内容存储以及后续运算的问题[1]。目前在中兴内部,培训系统、 人员档案甚至MTV存储都使用这样的技术。云计算对网络架构提出了新的要求,其中虚拟化交换、统一交换、透明化交换、超高速交换将是未来网络架构发展的四个方面[2]。

成为“合格”的云应用,服务架构自身的体质是最重要的,可扩展性,或者说弹性、可伸缩性,追求的是当服务节点规模增加时,服务能力也可以线性或近似线性地提升[3]。这就需要服务请求可以被良好地、互不干扰地分配到多个节点上执行[4]。结合虚拟机的特点,基于Nagios监控框架,构建一套云计算环境下物理机群和虚拟机群监控系统CloudMonitor。系统不同于传统监控系统之处在于可以监控部署物理机上的虚拟机以及虚拟机群,并给出物理机虚拟机性能数据的对应关系[5]。

1 系统需求分析

1.1 问题概述

云计算平台中虚拟网络保证了虚拟机群网络的高效构建,给用户带来了极大的便利。但是对监控系统提出了新的问题[6]:

(1) 网络无法互通问题。不同的虚拟网之间由于网络隔离等需要常常是无法通信的,如果无法通信,就无法获取被监控节点的监控信息,这对监控系统的监控信息传输提出了新的要求。

(2) 被监控机器频繁变动问题。这造成了在一个虚拟网络内部节点的数目可能会经常变动。用户常常是一次性创建或销毁一个虚拟网络以及网络内的全部机器。

1.2 物理机监控需求

云计算平台的监控系统需求可以从两个方面阐述:物理机监控需求和虚拟机监控需求。其中物理机监控与传统机群监控类似,虚拟机监控需求则有一些新特性[7]。

从监控的角度看,云计算平台的物理机基础设施与传统的机群系统没有太大差别。基础设施都是物理机,相对于虚拟机来说,数目不会过于频繁的改变。仅需要将物理机所属的区标记出来即可。云计算平台的基础设施图就可以简化成如图1所示。图1中表示了所有的被监控物理机,其数量、配置及IP设置等都基本不变[8]。

3.4 预警模块

监控服务器中有一个邮件发送模块,可以使用邮件服务器向指定邮箱发送邮件,机群静态信息中存有机群管理员的邮件地址。当某个被监控节点的监控项数据超过阈值范围,调用邮件发送模块,给管理员发送邮件。预警事件处理模块,在当某被监控机器出现问题时,服务器可以在被监控机器上运行指定的脚本来恢复预警情况,或者通过重启被监控机器解决。预警恢复部分预先在被监控机器上写好事件处理脚本,当监控服务器发现被监控机器出现问题时,通过调用事件处理脚本来恢复预警情况。预警通知子模块提供邮件通知、短信通知两种通知方式。

3.5 系统管理模块

本模块包括配置文件管理子模块设计,监控机器自动注册子模块设计,监控机器自动注销子模块设计。从用户创建虚拟机群开始,机群中的机器可能会频繁添加或者减少,这给集群监控服务器的管理提出了新问题。在虚拟机群创建的时候,用户指定头节点,头节点虚拟机在创建的时候自动安装有监控服务器程序,其他节点安装有监控程序。当某个虚拟机被销毁时,执行被销毁虚拟机中的destroy脚本,在集群监控服务器的配置文件中注销本机。当添加某个虚拟机时,向本机群监控服务器注册本机及本机监控项。

3.6 监控和监控服务器

本模块包括两部分:第一部分是客户端程序,运行于机群监控服务器,负责将本机群的监控数据送到全局服务器上去;另一部分是守护进程,它既可以独立地运行于守护服务也可以注册到inetd里作为一个inetd客户程序提供监听联接。从机群服务器收到监控信息后,守护进程将结果提交给全局监控服务器,实际上是模拟了从一台被监控机器上传输监控信息的一个过程,从全局监控服务器的视角看,从机群监控服务器传来的数据和直接从被监控节点上传来的数据没有差别。

4 实验测试与结果分析

4.1 监控服务器响应测试

监控服务器: CPU@2.0 GHz/2GMemory/160GHD,被监控机器: CPU@2.0 GHz/2GMemory/160GHD。

在LoadRunner中,设定25个User,每个User重复访问服务器读取监控数据,并进行5次点击查看操作。运行9 min的过程中,重复了2 031 844次操作,共有2 031 844次成功返回结果。图4为响应时间曲线,在并发数为20的情况下,最大响应时间为0.004 s。

最后报告成功了21 901 245次,平均19 004.8 /s,失败1次,系统工作良好。在频繁查询的情况下可以正常的返回结果。

4.2 应用规模及系统占用资源测试

测试目的:总监控服务器共可以支持的下级服务器数目,每个下级服务器可以支持监控节点的数目;监控系统对机器性能的影响。监控服务器端性能影响,监控对被监控节点的性能影响,此处的性能影响主要是指对节点的CPU负载,内存占用的情况。

测试环境同上,在监控服务器上添加100个被监控主机,每个监控主机有五个监控项,监控项总数是502项,如图5所示。

CPU占用率不超过3%,内存使用率不超过0.5%,实际间隔为2 min。在监控服务器上添加300个被监控主机,每个监控主机有五个监控项。CPU占用率为3%,峰值不超过7%。内存占用率不超过0.5%。CPU负载较100个节点的时候有所上升:0.9vs.0.5。进程数目增多:160vs.70,实际间隔为5 min。连续工作6天,从其自身的监控数据来看,一切工作正常,监控服务器性能状况如图6所示。

在监控服务器上添加500个被监控主机,每个监控主机有5个监控项,监控项总数是2 468项。在此情况下,机器负载有所上升。CPU占用率为3%,峰值不超过10%。内存占用率不超过0.5%。CPU负载较100个节点的时候有所上升:1.45vs.0.5。进程数目增多:240vs.70。定义的监控检查时间间隔为1 min,但是实际间隔为10 min。

测试结论:CPU占用率在10%以内,内存使用在1%以内,实时性要求较高,则监控规模应控制在100以内。从性能角度来考虑,监控规模应控制在300以内。

5 结 论

基于虚拟机群、基础设施共享的云计算环境与传统机群有着不同的特点,现有的机群监控系统不能满足规模扩展与云互联的需求。为此,提出了CloudMonitor,一种面向云计算环境的监控系统。系统基于开源监控框架Nagios结合传统监控系统和云计算环境的新特点,既能准确获取监控信息又能适应虚拟网络、虚拟机群的特点。

分析了云计算环境下监控的问题,同时给出了云计算平台下资源监控系统的总体设计和详细设计,对监控数据的采集、传输、存储、读取接口、监控服务器的结构及管理等方面都进行了详细说明,给出了系统的测试过程和测试结果,证明了系统在功能上的完备性,并通过测试得到了总监控服务器共可以支持的下级服务器数目,每个下级服务器可以支持监控节点的数目以及监控系统对机器性能的影响。本文提出了一种多级监控服务器结构,解决了主机之间不能相互访问的问题。

参考文献

[1] 陈康,郑纬民.云计算:系统实例与研究现状[J].软件学报,2009,20(5):1337?1348.

[2] 许丞,刘洪,谭良,等.Hadoop云平台的一种新的任务调度和监控机制[J].计算机科学,2013,40(1):112?117.

[3] 方薇,崔超远,王儒敬,等.Eucalyptus开源框架下云平台的构建与性能分析[J].计算机系统应用,2012,21(6):1?5.

[4] 成静静.基于Hadoop的分布式云计算/云存储方案的研究与设计[J].数据通信,2012(5):14?18.

[5] 张尧学,周悦芝.一种云计算操作系统TransOS:基于透明计算的设计与实现[J].电子学报,2011,39(5):985?990.

[6] 冯登国,张敏,张妍,等.云计算安全研究[J].软件学报,2011,22(1):71?83.

[7] 罗军舟,金嘉晖,宋爱波,等.云计算:体系架构与关键技术[J].通信学报,2011,32(7):3?21.

[8] 穆俊.基于云平台的并行关联规则挖掘算法分析[J].现代电子技术,2015,38(11):123?125.

上一篇:基于“三个互通平台”的物流管理专业课程实践... 下一篇:中国制造业借力互联网