企业私有云资源监控平台的设计及实现.doc_第1页
企业私有云资源监控平台的设计及实现.doc_第2页
企业私有云资源监控平台的设计及实现.doc_第3页
企业私有云资源监控平台的设计及实现.doc_第4页
企业私有云资源监控平台的设计及实现.doc_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录目 录I摘 要IIABSTRACTIII第一章 绪 论11.1 课题研究宏观背景11.2 课题研究目的和意义31.3 论文主要内容和框架结构3第二章 系统平台和关键技术介绍52.1云计算简介52.2 监控系统架构简介72.3 VMware简介92.4 RHEV简介14第三章 系统总体设计173.1 项目背景介绍173.2 系统需求分析183.3 系统总体架构设计213.4 软硬件选型22第四章 系统详细设计244.1 系统模块设计244.2 物理主机资源采集模块设计264.3 虚拟资源迁移监控模块设计334.4 分析联动策略模块设计414.5 数据库结构设计474.6 系统用例介绍51第五章 总结与展望545.1 本文内容总结545.2 未来工作展望54参考文献56致 谢58应用系统实现 ABSTRACT摘 要随着云计算技术的不断成熟,云计算技术如今已在制造业、金融业、公共服务业等各行业企业中得到了广泛使用。云计算平台不仅包括底层的计算、存储和网络资源,还包括在此基础上的虚拟资源,以及这些资源抽象化整合后的云平台、云软件。云平台上往往运行着各种大量异构、动态、复杂的资源。对于大多数企业来说,不可避免的存在原有IT资源和云计算IT资源并存的现象,如何将云计算平台覆盖传统IT资源,如何整合传统IT资源和云计算资源统一监控平台,如何对这些资源进行高效的动态监控及管理、如何洞察云之上的企业业务系统的健康状态、如何提高大型复杂业务系统运行的稳定性、有效性成为当今企业私有云道路上迫切需要解决的问题。在这样的背景下,对企业私有云平台的研究具有一定的实践价值。论文首先分析了目前企业面临的IT资源使用监控现状,指出云计算的引入使企业数据中心面临新的资源监控管理难题。论文给出了能同时监控企业云计算资源及传统IT资源的统一企业IT资源监控平台的解决思路和方案。平台包括一个企业信息化运行监测管理平台、五个核心数据库(原型库、配置库、性能库、事件库、规则库,实现对业务数据与核心IT运行数据的积累)、六个业务层次(被监控层、可管理化层、管理层、持久化层、业务处理层、展现层),可以实现应对业务变化的灵活和可靠的机制,提升IT服务提供者的服务效率和能级。论文重点针对平台设计和实现过程中物理主机资源采集、虚拟资源迁移监控、分析联动策略等核心难点进行了分析和论述。论文最后给出了总结和展望。关键词 云计算,私有云,资源监控,性能分析IIIABSTRACT With the development of cloud computing technology, currently this technology has applied widely in manufacturing industry, financial business and public service industry etc. The platform based on computing technology dose not only include the computing of underlying system, the storage and the network, but also includes the virtual resource with software, platform after abstracted. Lots of isomeric dynamic and complex resource usually runs on cloud platform. To the majority of companies, they have both original IT resource but also include those cloud platform resource. How to replace the original IT resource by cloud computing to integrate them together as unified platform to monitor and manage them has been thornier and thornier issue they are facing. Based on this background given, strengthening the study of the enterprise private cloud platform system has kind of practical value.This thesis has analyzed the current situations of the IT resource monitoring, and pointed out the problem of data monitoring after the enterprise introduced the new data center. This thesis has provided the solution to monitor the original enterprise IT resource and also the new cloud computing resource. The new platform includes five core database which are prototype database, configuration database, performance database, event database, rule database, and also it include six business levels which are monitored level, manageable level, management level, persistent level, business processing level and view level. The new system can improve the efficiency of service and make business much more flexible. This thesis focus on the design and the implementation of physic machine resource collection, virtual resource monitoring and linage strategy. Finally, this thesis provides a summary and make a forecast for the trend in the future.Keywords Cloud Computing, Private cloud, Resources Monitoring, Performance Analysis企业私有云资源监控平台的设计与实现 第一章 绪 论第一章 绪 论1.1 课题研究宏观背景如今,云计算1技术已被企业广泛使用,云计算技术的发展对制造业、金融业、信息产业、农业等起到很好的提升和支持作用,同时为发展高新技术产业提供强大的支持,对改造提升传统产业提供了科研创新的平台。云计算技术的广泛普及和应用,必将带来第三次信息技术变革的浪潮,同时也将带来企业商业模式和人们工作方式的根本性变革2。同时,如何管理和利用好企业的IT资源、提高企业应用系统的可用性成为IT部门首要考虑问题,企业私有云资源监控平台就是这样一个平台。据Occams Business 研究与咨询公司的预测,到2020年,全球云市场价值将从2013年的900亿美元增长到6,500亿美元,复合增长率将达29%。在云服务中,全球的平台即服务市场增长率最高,预计到2020年复合增长率达39%。在地理位置上,亚太地区是增长最快的地区,复合增长率为35%3。就企业云计算使用情况来看,2014年1月,中国最大的基于知识分享的实名制CIO人际网络社区ITValue发布IT决策者投资与生存状态调研报告。在IT决策者投资与生存状态大调查中,“云计算”这一部分,重点关注云计算在中国企业的接受现状与部署情况。图 1-1企业云计算建设选择调查43.52%的中国企业已经部署(或将部署)云计算。在云架构的选择上,61.70%的中国企业采用(或将采用)私有云,其比重远高于公有云和混合云4。Gartner在介绍2015网络性能监测和诊断标准(NPMD)魔力象限文中指出,网络监控工具这个市场是一个有较大空间快速发展的领域(2013年19亿美元)和应用程序的性能监控空间方面略有重叠(2013年24亿美元)5。当前,国外主要提供商主要有亚马逊、谷歌、微软、IBM、Salesforce等等,其中亚马逊占有最大的市场份额。国内云提供商比蓬勃发展,有三大电信营运商(电信、联通、移动)、百度云、新浪云、华为云、阿里云、盛大云、腾讯云、优客得、青云等,市场占有率没有特别优势的企业。对于资源监控服务平台,大的云计算营运商都提供相应服务。例如,亚马逊在EC26( Elastic Compute Cloud,弹性计算云)基础上提供CloudWatch监控服务,是针对AWS云资源和AWS上运行的应用提供的监控服务,使用CloudWatch可以收集和跟踪指标,收集和监控日志文件,设置报警,通过CloudWatch可以全面了解资源利用率、应用程序性能和运行状况7。IBM有SmartCloud Monitoring 监控私有云基础架构(包括具有物理和虚拟化组件的环境)的运行状况和性能。该软件提供所需的工具,根据需要评估当前运行状况、容量以及模型扩展情况。IBM SmartCloud Monitoring 可提供:全面了解云基础架构,包括具有物理和虚拟化组件的环境。监控异构环境,以便全面了解和控制基础架构的所有方面 - 包括物理组件、虚拟组件和云。假设情况容量分析,旨在对变化建模,降低风险,提高可靠性,减少能源与服务器的成本。策略驱动的分析,实现智能的工作负载分配8。 除了商业的监控软件,开源的监控软件也被广泛使用,开源的监控软件有Ganglia、Nagios、Cacit、Zenoss、Zabbix、Clumon等9。其中Ganglia、Nagios和Zabbix使用比较广泛。Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。它将从操作系统和指定主机中收集。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能10。Nagios 全名为(Nagios Aint Goona Insist on Saintood),最初项目名字是 NetSaint。它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows 、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知。Nagios 结构简单,可维护性强。同时提供一个可选的基于浏览器的 Web 界面,方便管理人员查看系统的运行状态,网络状态、服务状态、日志信息,以及其他异常现象11。可以看到现今云计算发展迅猛,著名的云计算平台都有自己的资源监控解决平台,此外开源的监控软件也不少,但较少有特别针对企业私有云监控平台产品。1.2 课题研究目的和意义云计算资源监控平台是云计算平台稳定运行有力保障,它能对整个云计算平台进行全面的监控,使得系统管理员能够时刻把握整个运行状态,从而能够及时优化资源性、提高可用性。监控的对象不仅包括系统硬件设备(服务器、存储、网络等),也包括软件(应用程序、数据库、中间件等)。例如,监控平台必须对物理设备监控 CPU 分配、使用率和负载的实时情况,才有可能在某一应用的工作资源发生紧缺时及时给予更多资源分配。对软件系统监控,检测进程异常、内存泄漏等潜在的问题,并在严重的情况下进行自动恢复,才能支撑云计算平台的灵活性和高可用性。同时利用监控平台具有分析预测功能,通过历史数据分析云计算资源池中的资源消耗趋势,识别和避免性能、容量问题。可以看出资源监控平台为云计算平台的稳定性、可靠性、可用性提供了强力保障。我公司是一家传统IT企业,企业拥有传统IT架构下的自主研发的监控平台。在云计算的浪潮下,公司实施了多种软件平台的云计算,有IBM Power小型机云计算平台、VMWware X86服务器云计算平台、RedHat X86服务器云计算平台。对于IBM及VMware云计算平台来说,他们有较完善的监控平台,RedHat的云计算产品监控平台较弱,公司需要整合几家监控平台产品,才能实现统一的资源监控及管理。企业该如处理多种私有云平台下的资源监控需求,摆在了我们面前。我们既可购买主流云计算监控产品进行整合,也可也将自有监控产品再次开发,扩展至云计算平台。同时,我们可以看到云计算市场潜力巨大,云计算资源监控产品有较大市场价值。我们完善自有监控平台,成本最佳。既能满足自身企业对多种云计算平台资源监控需求,还能将自有监控平台推向企业云计算监控平台市场。1.3 论文主要内容和框架结构本论文以企业私有云资源监控平台系统为主要研究内容,一共5个章节,各个章节安排如下:第一章:绪论。介绍了云计算、云计算监控平台国内外研究现状,并在此基础上指出了企业私有云平台资源监控平台的研究意义。第二章:关键技术介绍。主要介绍了云计算的基础概念、云监控体系结构以及主流云计算集成开发技术介绍。第三章:企业私有云监控平台总体设计,首先介绍了监控平台的总体架构,然后介绍的监控平台的需求及总体设计。第四章:详细介绍了企业私有云监控系统的详细设计。在企业拥有传统监控平台下,我们如何增加云计算平台监控模块,详细介绍了物理服务器在云计算平台下的采集模块设计,资源动态迁移到监控和设计。企业当前使用VMware及Redhat的云平台产品,针对这两种产品实现了物理服务器的采集模块、虚拟机资源迁移监控模块已及采集数据的监控策略及展示模块。第五章:对全文进行总结,并展望未来的工作。4企业私有云资源监控平台的设计与实现 第二章 系统平台和关键技术介绍第二章 系统平台和关键技术介绍2.1云计算简介目前,对于云计算的定义是多样,wikipedia的定义是这样的:“云计算(Coud Computing)是一种计算方式, 其中与IT有关的功能作为服务来提供, 允许用户访问云中信息技术驱动的服务, 而无需具有支持这些服务的技术基础设施的专业知识以及对这些基础设施的控制12。” 美国国家标准与技术研究院(NIST)13也给出了云计算的定义:云计算是网格计算和虚拟化技术发展的产物,其相对于网格计算来讲, 云计算具有自己的特点14。它是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互15。 尽管给出了不同的定义,但业界对云所应该具备的五项基本特征达成了共识:(1)按需自助服务用户可在任何时间点自行订购并按其要求获取云计算服务;(2)广泛的网络接入计算能力可通过广泛分布的网络接入终端(如电话、平板电脑、计算机)来获得;(3)资源池化计算资源被积聚;(4)快速灵活计算能力可“按需”(有时是自动的)提供和释放;(5)服务可计量云系统能控制、追踪和优化资源使用16。从用户角度来看云计算,云计算提供了一种方式,可以在不了解基本硬件技术的情况下获取计算服务。从组织角度来看云计算,云计算以一种简化的方式来提供服务来满足客户和业务需求,提供无限伸缩以及不同质量的服务来促进快速创新和决策。 它是一种IT资源的服务获得和交付模型, 如果在整个IT策略内适当使用,可以帮助改进业务绩效以及控制向组织提供IT资源的成本。私有云(Private cloud)是将云基础设施与软硬件资源建立在防火墙内,以供机构或企业内各部门共享数据中心内的资源。私有云完全为特定组织而运作的云端基础设施,管理者可能是组织本身,也可能是第三方;位置可能在组织内部,也可能在组织外部17。从维基百科和美国国家标准与技术研究院给出的云计算定义可以看到云计算是一种计算模式,在这种模式中,IT资源、数据和应用以服务的形式通过网络提供给最终用户使用。云计算也是一种基础架构管理的方法论,大量的硬件设备资源组成IT资源池,能快速地创建高度虚拟化的动态资源提供用户使用。在云计算模式下,IT资源有云计算中心提供,用户只需要连接到云计算中心的网络中,借助轻量级的客户端,例如手机、浏览器就可以完成各种任务,包括程序开发、软件使用等。提供最终用户服务的这些资源,对于用户来说是不可见的,用户无需关心资源如何部署、如何维护、如何实现高可用等问题。因此,这些资源被比喻为“云”。云计算就像发电厂,只是他提供的不是电,而是IT计算资源,只要通过网络连接到云计算中心,并得到授权,就可以使用这些资源了。云计算按照运营模式可以分为三类:公有云:以Amazon、Google为代表,通过自己的IT基础架构直接给最终客户提供给各种层级的服务。用户通过互联网访问这些服务,并不拥有云计算资源,用户购买的是服务。私有云:企业通过云计算技术建设自己的IT基础架构,主要面向内部用户提供服务。企业拥有基础架构的自主权,并且可以更加自身需求进行改进及创新。混合云:企业既有自己的云计算基础架构,同时也使用外部公有云提供的服务,这时候企业通常会建设统一的云管理平台,同时管理私有云和公有云。云计算按照服务层次可以分为三类,基础架构即服务、平台即服务、软件即服务18,和传统IT的对比如下图:图 2-1 云计算服务层次传统的IT项目建设会设计到网络、存储、服务器、虚拟化、操作系统(O/S)中间件、运行时、数据、应用的集成整合。在云计算环境下,资源可以按需分配给计算机和其他设备来提供服务19,按照不同的服务层次可以将云计算分为三种类型。基础设施即服务(IaaS20,Infrastructure-as-a-Service)是云服务中较为成熟的服务方式,底层的硬件设备包含网络、存储、服务器、虚拟化技术由云计算服务提供商提供,用户购买IaaS后,只需要自行部署/安装操作系统,中间件、运行时、数据即应用,即可使用IaaS完成应用的交付使用。IaaS模式提供服务被普遍采用,如亚马逊、IBM、百度、阿里、盛大等。IaaS相比传统IT模式,很好的实现了弹性伸缩、按需付费。平台即服务(PaaS21,Platform-as-a-Service),在这种服务层次下,用户仅需要提供数据和应用,完成部署后,就可以完成应用的交付使用。其他的需求由云计算提供商提供,用户部署应用更为方便。Google的App引擎,微软的Azure,新浪的App引擎、百度的App引擎都是平台即服务的典型代表。软件即服务(SaaS22,Software-as-a-service),在这种服务层次下,用户是直接购买云计算服务提供商的软件服务,通过互联网直接使用软件服务。SaaS模式降低了软件使用成本,软件是由云服务提供商架设在云基础平台的,可靠性高,最终用户无需维护。Salesforce、Google的Gmail是SaaS模式的典型代表。可以看到从传统的IT到IaaS、PaaS、SaaS,用户自定义成本成递减,价值实现速度递增,传统IT建设用户初期需要花大量的成本购买基础设备后期还需要维护费用,我们再看SaaS服务,用户不关心基础设施,仅是购买了软件的使用许可,无基础设施建设费用及时间成本,即买即用。2.2 监控系统架构简介目前比较常见的监控系统架构有两种,一种是集中式架构,另一种是金字塔多层次架构。 集中式架构集中式架构下由一个监控服务器(Server)中心和若干被监控服务器客户端(Client)组成,所有被监控服务器客户端通过代理(agent)或无代理(SNMP等)方式和监控服务器中心进行通信。如下图图 2-2 集中式架构该架构下,每台被监控设备通过监控代理或者通过无监控代理模式(如:SNMP方式)和监控服务器中心进行通信。监控服务器中心为一台服务器,被监控设备可以是PC服务器,也可以是网络设备或者存储设备。被监控设备接受监控服务器指令,根据指令进行操作后,返回指令结果给监控服务器。同时被监控设备会定时反馈监控代理的状态给监控服务器,如果监控代理出现故障,监控服务器将故障信息通知管理员及时检修。监控服务中心运行在一台高性能服务器上,负责和被监控设备的数据采集及处理,同时监控代理的状态。这种架构相对比较简单,适用于被监控设备不多的场景。该系统特点:l 部署管理简单。集中式架构下,就两种类型节点,监控服务器中心及被监控设备,功能架构简单,网络层次清晰,方便快速实施部署,网络排除容易。l 延迟小。监控服务器中心能快速收集监控信息,分析监控信息反馈当前环境下设备运行状况;同时能比较及时发现故障通知管理员进行故障处理。l 存在单点故障。由于监控服务器中心运行在一台服务器上,一旦该服务器故障,整个监控系统瘫痪。可采用高可用双机集群模式优化。l 处理能力有限。集中式架构下,监控服务器中心只有一台,当被监控设备过多是,监控服务器容易过载,导致监控数据不能及时处理,此外监控服务器中心的网络容易产生拥堵,以上情况都将导致整个监控系统失效。 金字塔多层次式架构图 2-3 金字塔多层次式架构金字塔多层次式架构下,位于金字塔顶端点是监控服务器中心,末端的是被监控设备,在监控服务中心和被监控设备之间设置了区域监控服务器。被监控设备不是直接和监控服务器中心通信,而是和某个区域监控服务器通信,监控服务器将采集结果加工处理后,将信息传递至监控服务器中心;同理,监控服务器中心将书籍采集策略等通过区域监控服务器下发到被监控设备。监控服务器中心负责汇总处理区域监控服务器的信息。该系统特点:l 负载能力强。由于采用区域监控服务器+监控服务器中心架构,使得部分工作可以在区域监控服务器上处理,比如被监控设备上传的数据的初步处理、汇总等。同时区域服务器可以部署多台,故在此架构下可以减小监控服务器中心的处理压力及带宽压力。l 故障隔离。由于使用多个区域监控服务器,使得被监控设备在整个监控架构中被分为好几个区域。当某个区域发生故障时,不会对整体监控系统造成大的影响。l 部署复杂。由于多层次架构,使得整个系统部署及配置变得相对复杂。延时并长。被监控设备以前是直接和监控服务器中心进行通信,现在是经由区域监控服务器和监控服务器中心通信。区域服务器还承担部分数据的预处理工作,故被监控设备的数据传输到监控服务器中心耗时变长。2.3 VMware简介VMware 是业界领先的虚拟化软件公司,其主要产品为vSphere,全球500强企业中超过大量采用了vSphere产品。VMWare 为开发者提供了各种 SDK,方便开发者定制化管理 vSphere。这些 SDK 包括 vSphere Web Servicess SDK、vSphere Storage management SDK、CIM(Common Information Model)SDK、vSphere SDK for Perl、PowerCLI 等等。其中 vSphere Web Servicess SDK 是最常用的,它提供了针对 ESX/ESXi 以及 vCenter 的管理接口。目前最新的 vSphere Web Servicess SDK 版本为 5.5,可以支持 ESX/ESXi 5.5 及 vCenter5.5。vSphere Web Servicess SDK 提供了 Web Servicess 的 stub 文件,而且还包含了 Java 和 C# 的程序用例和很详细的 API 说明文档。所有的 SDK 相关材料均可从 VMWare官方网站上免费下载。vSphere API 以标准 Web Services 方式实现,遵守 Web Servicess Interoperability Organization (WS-I) Basic Profile 1.0 标准,即支持 XML schema 1.0、SOAP 1.1 以及 WSDL1.1。用户可以像调用普通 Web Services 那样调用 vSphere API 来访问位于 ESX/ESXi 以及 vCenter 中的组件和服务。vSphere API 提供了几乎所有的针对 ESX/ESXi 以及 vCenter 的管理接口,比如生命周期管理、虚拟机以及网络和存储等资源的管理和监控功能等23。使用 vSphere API 开发的客户端同 vSphere 服务器端组成了一个分布式的系统,它们之间使用异步通信方式进行同步。为了理解这个客户端 - 服务器端的结构,必须清楚以下三个概念:l Managed Object(MO,被管对象 ) 存在于服务器端(即 ESX/ESXi 以及 vCenter 中),代表了 vSphere 的服务(services)和组件(components)。服务包括 PropertyCollector, SearchIndex、PerformanceManager 和 ViewManager 等,组件包括 VirtualMachine、Datastore 和 Folder 等。l Managed Object Reference(MOR,被管对象引用 ) 存在于客户端,每一个 MOR 都指向服务器端的 MO。客户端程序可以引用 MOR 来调用服务器端 MO 的方法。在每一个 MO 的生命周期中,其 MOR 都是唯一的并且是持久化(persistent)的,这意味着其 MOR 在生命周期中都是不变的,比如即使重新启动 server,其 MOR 仍然不变。l Data Objects(数据对象)封装了 MO 的数据信息。客户端通过 Data Object 发送请求给服务器端,又从服务器端接受 Data Object 来得到 MO 的状态等。下图摘自 vSphere Web Servicess SDK Programming Guide,它清楚的说明了这三种数据对象及 vSphere Sever 与 client 的关系。图 2-4 vSphere Server and Client在这三种数据对象中,MO 代表了服务器端的服务或组件,他们都直接或间接继承自 ManagedEntity 抽象类。下面的类图展示了目前 vSphere Infrastructure 中的 7 种最重要的 MO 类型和它们的继承关系,它们代表了 vSphere Infrastructure 中的 7 种组件或者实体。在 vSphere API Reference中,对所有的数据类型都有详细的介绍,用户可以查询每一个类的含义和用法。图 2-5 ManagedEntity 及其子类使用 SDK 开发自己的 vSphere 客户端程序,首要的问题就是如何访问和遍历在 vSphere Inventory 中的对象。vSphere inventory 其实就是 vSphere datacenter 及其管理的对象。在 vSphere inventory 中包含了以下三种类型的对象:l 在datacenter中被管理的系统,比如 Host、VirtualMachine、VirtualApp 等。l 具有一定功能的组件,比如 ComputeResource、DataStore,、Network 等。l 负责组织归类的组件,它们负责把 datacenter 中的对象按照层级关系组织起来形成了一个树状结构,比如 Folder 和 DataCenter。ESX/ESXi server 和 vCenter 的 inventory 结构是类似的,只是在 ESX server 中,有些对象的数量有限制,比如在一个 ESX server 的 inventory 中只能有一个 Host 实体。下面给出了 vCenter 这 ESX server 的 inventory 的结构。图 2-6 vCenter Inventory 结构想要访问 vCenter 或者 ESX server 中的某个对象或者调用其方法,就必须首先根据这个对象在 inventory 中的位置找个这个对象。从上图可知,ServiceInstance 对象在 inventory 的结构树中处于根位置,因此遍历整个 inventory 或者要查找 inventory 中的某个对象,必须先从 ServiceInstance 开始。ServiceInstance 类中最重要的一个属性(property,可以理解为类的成员变量)是 content,它指向数据类型(Data Object)ServiceContent 的一个实例。ServiceContent 类含有很多该 vSphere 服务实例的重要属性和服务的引用,比如整个 inventory 的 root folder,session manager,property collector(用于查找和遍历对象),以及 EventManager, TaskManager 等。下面的类图展示了 ServiceInstance 和 ServiceContent 的部分属性。图 2-7 ServiceInstance 和 ServiceContent接下来我们讲讲下VMware中事件,VMware中有很多的事件,比如虚拟机的开关机,创建虚拟机,在虚拟机中安装VMware Tools,虚拟机迁移等等。通过EventHistoryCollector我们可以收集到VMware系统产生的事件,我们可以通过EventManager来创建EventHistoryCollector对象。EventManager服务接口相关关系如下图,EventManager包含三个属性:l description属性是一个EventDescription的数据对象l latestEvent是内存中最近的事件数据对象。l maxCollector属性是客户端连接时设置的EventHistoryCollector数据对象值。图 2-8 EventManager Managed Object and Associated ObjectsEvent数据对象是系统产生的事件集,Event数据对象和子类型样例(如下图)展示了Event数据对象的不是子类型。例如TaskEvent继承了Event的所有属性,包括TaskInfo对象的信息属性。下图是控制台应用模式下客户端Event对象:l com.vmware.vim.VmPoweredOnEventl com.vmware.vim.VmStartingEventl com.vmware.vim.VmReconfiguredEventl com.vmware.vim.VmCreatedEventl com.vmware.vim.VmBeingCreatedEvent图 2-9 Event Data Object and Sample Subtypes2.4 RHEV简介红帽企业虚拟化(RHEV)是基于Linux的KVM技术提供了与与VMware类似功能的虚拟化平台。红帽企业虚拟化能同时提供服务器和桌面虚拟化的完整虚拟化管理解决方案,是一个完全开源的、成熟的企业虚拟化平台。RHEV 向寻求更好的总拥有成本、更快投资回报、加快收支平衡以及从供应商绑定中解脱出来的组织展现真正的战略性虚拟化备选方案。图 2-10 RHEV逻辑架构图 2-8 描述了RHEV的工作流程。RHEV 中的 Engine 通过 HTTP 协议向外提供 REST API,同时管理员和普通用户可以通过页面操作Engine提供的服务。系统管理员通过网页可以创建、修改虚拟机配置或用户权限,用户可以操作自己拥有权限的虚拟机,并通过 VNC 或 SSH 登陆自己的虚拟机。Engine 在整个系统中充当管理者的角色并对外提供管理服务,并将所有的虚拟机配置,各个节点的自身状态,系统的网络状态,存储器状态记录到数据库中。Engine中可以设置整个环境的管理的逻辑及策略。Node 只负责功能上的实现,不进行任何状态的记录和任何策略的实现。Node与Engine之间的关系就像Linux中驱动程序与应用程序的功能分割关系:驱动仅仅负责功能的实现,如设备的读、写、开启与关闭,如何使用这些功能留给应用层。同样Node仅仅负责实现虚拟机器与设备的创建与修改,资源的共享与保护,如何使用这些功能交给Engine处理。Node暴露两种基于网络的API与Engine交互,XMLRPC与REST。Engine通过这些接口控制各个Node上功能的启动。当然用户也可以调用这些API进行第三方程序的开发。RESTful架构是目前最流行的一种软件架构。它结构清晰、易于理解、扩展方便,所以正得到越来越广泛采用。其特点如下: 每一个URI代表一种资源(Resources); 客户端和服务器之间,传递这种资源的表现层(Representation); 客户端通过四个HTTP动词(GET、POST、PUT、DELETE),对服务器端资源进行操作,实现“表现层状态转化”(State Transfer)。RHEV提供了基于RESTful API接口给开发者使用。支持主流开发语言包括JAVA、Python、php、c#等。我们可以通过它将其与第三方的界面或者应用进行集成。访问 http:/RHEV-M_Server_IP/api?rsdl 以获取其用法。如下图:图 2-11 RHEV RESTful API每一个link行都代码者一种资源,“rel=”的属性就是资源的调用路径。我们来看看datacenter资源如何调用的吧,我们通过如下的方式访问就可以获取datacenter的相关信息。在Linux中可以执行运行一下 命令:curl -X GET -H Accept: application/xml -u USER: PASS -cacert CERT https: /RHEVM Host: 443/api/datacenters我们可以将得到如下结果:图 2-12 REHV datacenter信息我们可以看到结果集中有一个数据中心,名字为Default,已经起描述信息,数据中心的存储类型为nfs等等。同时RHEV SDK支持java及python语言的开发。更多的信息可以参考官方开发手册,这此仅做简单介绍。59企业私有云资源监控平台的设计与实现 第三章 系统总体设计第三章 系统总体设计3.1 项目背景介绍C公司成立于2000年4月,于2001年4月上市。公司总部位于上海浦东张江高科技园区,注册资本2.6亿元人民币。主营业务单位包括6大本部、12个分公司、8个子公司等,公司着力构筑工程-产品-服务的产业链环,2011年实现销售收入31.45亿元人民币。公司以软件为核心带动硬件和系统集成,为用户提供咨询、集成和开发、运维及外包等全方位服务;主营业务按形态划分为解决方案、自动化工程、智能化工程、机电成套、服务外包和海外业务六大板块。秉承“IT服务,提升信息价值”的经营理念,全面提供具有自主知识产权的行业信息化解决方案、系统集成及运行维护方案等。产品与服务业绩遍及卫生、公共服务、钢铁、交通、服务外包、采掘、有色、石化、装备制造(含造船)、金融等多个行业。公司已具备一支业务领域广、服务模式多、技术及管理能级完整的专业系统集成团队。2002年公司就获得国家计算机信息系统集成一级资质认证,可以提供包括主机系统软硬件技术、网络技术、信息安全技术等多种技术领域环境下的整体系统集成服务。企业致力于国际先进服务理念(ITIL)的导入,倡导全生命周期、全流程、全层次的三全服务IT运维理念,确保用户IT系统持续稳定运行。基于集中运管平台和集中监控平台,公司初步构建了全国性的运维网络,在全国各地拥有100多个IT运维服务的长期客户,涉及到卫生、公共服务、钢铁、金融等多个行业。历经30多年的信息化建设,C公司已经建设了相当数量的信息系统和相当规模的IT基础环境。C公司目前运营中的IT信息机房多达30多个,运行物理设备3000多台。云计算浪潮到来后,云计算的资源快速交付、资源弹性伸缩、降低信息投资成本、绿色节能等特性吸引着我们,在评估云计算成熟可用后,企业积极筹建了云计算中心。为满足了企业多种业务系统对不同类型IT资源的需求,云中心采购了多种IT资源。目前,云计算中心运行小型机18台,磁盘阵列33台,X86服务器350多台,网络核心交换机8台,接入交换机100多台,防火墙18台,其他网络设备若干。企业建立云计算中心后,陆续将各类业务系统迁移至云计算中心,目前已经有300多套业务企业运行在其中,企业也将新建业务系统首选资源定位于云计算中心。云计算中心为用户提供云计算平台和高可用性云计算数据中心场地基础设施,可确保入驻的IT系统可靠稳定运行,同时作为专业化的IT运维服务供应商,具备规范化的IT运维服务能力,经成功为证券、基金、大型企业提供了云计算服务,为满足更多客户对云计算数据中心的需求。云计算中心采用了IBM PowerVM云计算平台提供小型机资源。对于X86资源我们避免技术锁定、价格等因素,同时采用了VMware vSphere及RedHat RHEV平台。在多种硬件资源,多样化的云计算技术上我们搭建了云计算中心,我们迫切需要了解云计算中心的运整体运行状态,由此,我们需要构建一个兼容底层多种云计算平台的统一资源监控平台,来监控并持续改善和提高云中心各类资源运行状况,最终实现提供稳定可靠的云计算。3.2 系统需求分析企业私有云监控管理平台是实现企业IT资源信息化管理的核心系统,我们希望它能安装需求实施 IT规划策略,通过它能提前发现IT资源运行异常点,以便我们做出适当的处理,保障系统的正常运行。最终提高云平台的可靠性和可用性,保证用户放心的使用云计算的资源。在 CMDB 中通常会建立配置项属性库,属性库中定义了一系列的属性(即配置项属性),例如型号、U数、内存容量、虚拟化类型等,并明确了每一个属性的值类型(数值、文本、枚举等)及约束规则。属性库中的属性可以进行分组以方便维护及管理,例如,基本属性组、资产属性组、规格属性组、技术指标组等等。配置项属性库中的属性可供多个 配置项模板 使用,并且可以随时根据业务需要动态扩展。在 CMDB 中通常会建立关键技术指标库,关键技术指标库中定义了一系列的关键技术指标,例如:CPU使用率、数据库并发连接数、业务交易量等,并明确了每一个关键技术指标的指标类别、单位、数据来源、默认采样频率及展现方式等。关键技术指标库中的关键技术指标可供多个 配置项模板 使用,并且随时可以根据业务需要动态扩展。关键技术指标包含 基础指标 及 聚合指标,将关键技术指标区分为基础指标项及聚合指标项之后,也即建立了指标之间的层次关系,一个基础指标项可以有多个相关的聚合指标项。基础指标是由监控区域采集服务或 Agent 实时采集的指标数据。根据采集数据类型的不同,基础指标又可细分为如下几类:表 3-1 基础指标基础指标类型说明统计值(Statistics)该类指标是一种定量指标,采集的数据是一段时间(例如1分钟或1小时)内的统计值,多次采集的数据可以汇总。例如:o A00016 - 业务交易量o A00017 - 技术交易量o A00021 - HTTP请求数瞬时值(Gauge)该类指标是一种定量指标,采集的数据是一个特定时间点的瞬时状态值,通常反映了资源的某种关键定量状态。例如:o A00001 - CPU使用率o A00024 - 数据库并发Session连接数o A00051 - 单次操作响应时间状态(Status)该类指标是一种定性指标,采集的数据是一个特定时间点的瞬时状态值,通常反映了资源的某种定性状态。例如:o A00011 - 设备状态o A00022 - 核心进程状态分组集合(GroupList)该类指标是一个分组的记录集,通常情况下,每次采集时均能采集到一组记录集合,且组中的记录个数通常是固定的,组中的各个记录具有相同的时间点。例如:o A00009 - 文件系统使用率o A00028 - 数据库表空间状态及使用率明细记录(Detail)该类指标是一种提供详细信息的记录,通常情况下,每次采集时能采集到的数目是不确定的,0条、1条、N条均有可能,且每条记录的时间点通常是不一样的。例如:o A00005 - 系统日志o A00046 - 网络设备syslog日志聚合指标项的数据一般在基础指标项的数据上通过 聚合策略(例如最大值、最小值、平均值、区间比率等)计算得出。对于一些复杂的聚合指标项,还可以在某个其他的聚合指标项上进一步通过聚合计算得出,即可以允许多层聚合。将关键技术指标区分为基础指标项及聚合指标项之后,也即建立了指标之间的层次关系,一个基础指标项可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论