APP下载

基于vRops的云主机监控在宝之云中的应用

2020-07-07侯庆伟

武汉工程职业技术学院学报 2020年2期
关键词:监控软件资源

侯庆伟

(上海宝信软件股份有限公司 信息服务事业本部 上海:201203)

随着信息技术、网络技术以及大数据技术的快速发展,信息资源越来越庞大和丰富。面对这种状况,单个物理机很难应对大规模数据处理的情况,用户急需可定制、可扩展、高效可靠的计算模式来支撑业务需求。在这种需求的驱动下,分布式计算、网格计算、效用计算等混合演进,形成了如今成熟的云计算服务模式和商业模型。随着云的生态发展越来越好,云数据中心的规模也在不断扩大,对云资源的管理就越发重要。目前,各云服务商都相继推出了自己的云管理平台,以实现对云资源的有效管理。云资源数据采集是对云资源有效管理的第一步。如何在不影响云环境中各资源有效运行的情况下,获取云环境中各资源数据信息是要首先考虑的问题。

本文基于宝之云云管理平台运营过程中对云资源管理优化的需要,针对云资源数据采集面临的难点,论述了VMware vRealize Operation Manager(vRops)在宝之云监控体系中的运用,以对读者有所启发。

1 云计算的概念及特点

1.1 云计算的定义

云计算这个概念首次提出是在2006年8月的搜索引擎会议上[1]。它是分布式计算、虚拟化技术、效用计算、Web服务及网格计算等技术充分发展融合的产物。云计算实质上是给用户提供类似传统的水、电、煤气等按需使用的计算服务[2],其目标是用户能够通过网络在任何地点、任何时间、最大限度地使用虚拟机资源,并处理大规模计算问题。从广义上来讲,云计算是与信息技术、互联网和软件相关的一种服务,这种计算共享池叫做“云”,云计算把计算资源集中起来,通过软件虚拟化成资源池,实现自动化管理,只需要很少人的参与就可快速将资源交付给用户,并且资源可以动态调整。目前对于云计算的定义有几百种,主要的定义有以下几种:

维基百科在2019年对云计算的定义:“云计算(Cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备,使用服务商提供的计算机基建作计算和资源。”

伯克利云计算白皮书对云计算的定义:“云计算包括互联网上各种服务形式的应用以及数据中心提供这些服务的软硬件设施”。

文献[3]对云计算的定义:云是一个包含大量可用虚拟资源(例如硬件、开发平台、I/O服务)的资源池。这些虚拟资源可以根据负载的变化动态地调整资源,以达到资源的最大有效的利用。这种资源池通常是由云服务商按照服务等级协议(Service Level Agreement, SLA)采用分时付费(Pay_Per_Use, PPU)的模式进行运营。

文献[4]从云计算服务使用者、服务提供者、组织方式、内部实现机制等方面给云计算的定义为:云计算是由网格计算发展而来的,前台采用用时付费的方式通过Internet向用户提供服务。云系统后台通过服务器集群提供的虚拟机组成由大量的集群使用虚拟机的方式,通过高速网络互联,组成大型的虚拟资源池。这些虚拟资源可自主管理和配置,用数据冗余的方式保证虚拟资源的高可用性,并具有分布式存储和计算、高扩展性、高可用性、用户友好性等特征。

1.2 云计算的特点

通过上述对云计算的定义的不同表述,总结出云计算具有如下特点:

(1)资源池化:通过虚拟化技术将计算、存储、网络等虚拟化,根据用户需求动态分配。

(2)可扩展性:用户可以随时随地根据自身实际需要,快速弹性地扩充资源,增强处理能力,而且不会对现有业务产生不好的影响。

(3)方便的网络访问性:用户通过互联网即可实现自助式服务,不需要部署负责的硬件和软件,也无需了解所使用资源所处的位置,通过互联网即可获取云中的资源,实现高性能计算。

(4)可度量性:可以监控服务资源的使用情况,并报告给用户和云服务供应商,云服务供应商可以根据使用情况收取费用,并且用户也能够知道自己钱花在哪里。

(5)可靠性:能够自动检测失效节点,并通过数据冗余技术保证业务的正常运作,达到SLA的要求。

1.3 云计算的服务模式

从云服务者的角度,云计算的服务类型可以分为三种,分别是:基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)、软件即服务(Software as a Service,SaaS)。

IaaS服务:此种服务模式通过云基础设施来供应CPU、内存、硬盘等物理资源。通过虚拟化技术,使用者无需管理底层基础设施,可以根据需要使用虚拟资源。

PaaS服务:该服务为用户提供应用开发所需要的环境和资源。用户不用担心底层的服务架构是如何设计的,只需要把注意力重点放在程序的设计和操作实施上即可。

SaaS服务:该服务模式将应用软件通过互联网提供给用户,用户可以直接使用软件并且不需要进行软件的安装、维护与更新,也无需管理底层云基础设置,只需要把精力专注于自己的业务上即可。

由以上云计算的产生、特点及交付方式可以看出,对于云服务商而言能够快速有效地为用户提供云服务,并且保证用户数据安全是对云服务商最基本的要求。然而随着云的规模不断扩大,对云中心资源的管理就显得越发重要。

2 宝信软件云管理平台

宝信软件宝之云始建于2012年,为用户提供IaaS、PaaS、SaaS三种服务类型。在对外提供这些服务时需要一个统一、集中的管理平台(即云管理平台),以实现对云中心资源的有效管理,支撑为用户提供快速有效的服务的要求[5]。

目前,业界有很多开源组织或者云服务供应商都推出了各自的云管理平台,但是其对技术有一定的限制,如VMware等公司通常对自身产品都能够有比较好的支持和兼容性,OpenStack和CloudStack等开源架构仅仅对X86技术路线有支持。构建一个能够融合不同厂商和技术路线的云管理平台就显得愈发重要。

2.1 宝信软件云管理平台架构

宝信软件云管理平台在实施整体架构设计上对上述因素进行了充分考虑,形成了具有很大价值的解决方案,具体体现在四个方面[5]:

(1)五位一体,全面管理。宝信软件云管理平台涵盖运营管理、运营维护流程管理、监控管理、自动化管理、资源配置管理等五大子系统,对于结构复杂的云数据中心是一个全面的解决方案。

(2)异构整合,真正跨平台。宝信软件云管理平台不仅能够融合不同云计算供应商,而且能够支持不同的技术路线,具有很强的融合性。

(3)动态建模,随需扩展。宝信软件云管理平台中的属性库、技术指标库等均可以通过建模的方式进行扩展,能够充分应对规模扩展、技术路线更新等各种变化的需求。

(4)理念沉淀、实践融合。宝信软件云管理平台融合了宝信30多年服务宝钢的管理理念和最佳实践,在保持高度灵活性和扩展性的同时,对云的管理和实施具有很好的指导意义。

宝信软件云管理平台架构图如图1所示。

由图1可以看出,宝信软件云管理平台包含运营管理、监控管理、运营维护流程管理、资源配置管理和自动化管理等五大子系统。运营管理从云中心运营人员和租户的视角对服务的全生命周期进行管理。运营管理子系统所涉及到的指标数据由监控管理子系统负责采集和处理。同时,监控管理子系统还对云中心的资源进行监控,并在满足预定策略时触发报警,并产生事件通知运营维护人员或者触发自动化操作。由以上分析可以看到,监控管理子系统就像是宝信软件云管理平台的中枢神经系统,负责从云中心的各个点状资源收集数据,并对收集到的数据进行分析处理,提出关键信息后发给云管理平台中的其他子系统。

2.2 云资源数据采集面临的问题

那么监控管理子系统是如何获取云中心各资源的数据呢?目前,在宝之云中,与用户业务关系最密切的是各虚拟机。对于PaaS用户,监控管理子系统获取虚拟机的配置数据是通过在做云服务申请时设计的技术服务实现,获取虚拟机运行状态的数据如CPU,内存、磁盘I/O等则是通过在虚拟机安装监控Agent实现,通过在云管理配置相应的采集策略和分析联动策略实现相关数据的采集和分析。上述这种数据获取方式存在很大的问题,一方面是对于IaaS用户不希望虚拟机上安装监控Agent,但是又想知道虚拟机的运行状态信息;另外一方面,通过监控Agent的采集方式,在采集脚本写得不好的情况下,有可能会对虚拟机的运行带来额外的压力。

解决好这两个问题成为提升宝之云服务质量的关键,并且对于宝之云运营优化具有重要的意义。基于上述运营过程的痛点,笔者提出将vRops运用于宝之云监控体系的方案。

3 vRops介绍

vRops是VMware公司开发的一个工具,其在业务和运营维护目标的驱动下能够以最低成本提供持续性能优化、高效容量管理和规划以及智能修复。它能够自动化并简化IT运营维护管理,并跨物理、虚拟和云计算环境提供从应用到基础架构的统一可见性。其适用的用户场景主要有以下三个:

(1)持续性能优化。在运营维护和业务目标的驱动下,通过预测性分析驱动操作,实现自动工作负载均衡并主动避免争用,从而确保以最低成本代价获得所需性能。自动执行工作负载均衡,以降低软件许可成本、基于性能层进行优化、增加集群密度或实施合规性策略。

(2)高效容量管理和规划。通过实时预测容量分析来降低成本和容量风险,以提供最佳致密化容量。通过预测未来需求,获取切实可行的建议并自动执行回收与规模优化。分析集成成本与容量,可优化利用率并降低成本。高级情景假设有助于跨私有云和多个公有云,为新工作负载规划容量并建立最适合的模型。

(3)智能修复。借助从应用到基础架构的统一可见性,以及与指标和日志相关的切实可行的洞察信息,更快速地预测和预防问题,并进行故障排除。通过原生 (Software Define Data Center,SDDC)集成、联合视图以及高度可扩展和可延展的平台,集中管理 IT运营维护。通过从vCenter 开始并提供全环境概览、故障排除和容量管理的运营维护可见性。

vRops节点架构如图2所示。由图2可以发现,vRops组件主要由Watchdog、The user interface、Collector、GemFire、GemFire Locator、Controller、Analytics、Persistence组成。其中Watchdog是vRops中的一个服务,用于维护必要的守护进程或者服务,如果出现故障,会根据需要尝试重新启动它们。The user interface为用户提供门户或者为外部的数据采集提供API。Collector负责从配置的数据源中提出数据指标信息。GemFire是一种位于内存中的低延迟的数据网格,一般同Collector和Analytics位于同一JVM种,集群中有节点添加时会同步扩展。GemFire Locator运行在集群的主节点和副节点上。Controller是Analytics的子进程,负责协调集群成员之间的活动。Analytics是vRops的核心,主要用于对数据进行分析。Persistence顾名思义就是数据的持久化层,负责数据的落盘。

图2 vRops节点架构图

从以上对vRops的分析可以看出,vRops中每个节点都是分层构成的,每个层负责不同的功能,各层相互配合,共同实现vRops性能优化、高效容量管理和规划以及智能修复的目标。

4 vRops在宝之云监控中的应用

vRops对云中心数据的采集是通过在vRops中配置数据源来实现的,配置的数据源一般是云中心的vCenter,由组件Collector负责从配置的vCenter采集数据。vCenter是整个数据中心的大脑,拥有整个数据中心资源的全部信息,包括虚拟机的动态运行信息,如CPU、内存,I/O,网络流量使用情况等。vRops通过从vCenter采集数据实现了无代理监控的目标,能够很好地解决宝之云运营过程数据采集面临的问题。将vRops运用于宝之云监控的架构图如图3所示。

图3 vRops应用于宝之云监控架构图

首先部署两台vRops节点,分别做主节点和备节点,保证集群的高可用性。在两个vRops节点前面部署利用Haproxy搭建负载均衡设备(提供统一的采集IP),设置负载均衡算法,在Master节点为active状态时,采集流量一直采集Master节点,只有当Master节点异常时才在vRops中配置数据源为云数据中心的vCenter。利用vRops提供的API接口,采用Python语言编写数据采脚本,接入宝信软件的云管理平台上。通过在宝信软件云管理平台的虚拟化控制器的采集策略里增加相关指标的采集策略,实现数据采集的目的。

根据vMware官方给出的文档,通过vRops提供的API接口从不同维度(例如CPU、内存、磁盘、网络、客户机等)提供的指标项总计有272项。显然这些指标并不都是目前宝信软件云管理都需要采集的数据,对这些指标项进行了筛选,筛选出目前最重要的指标项作为采集项,涵盖CPU、内存、磁盘、网络、虚拟机等5个维度,总计50个指标项。

宝之云云管理平台中配置的采集项如图4所示。

图4 采集策略配置图

以虚拟机PVVMDC0077为例,通过在云管理平台上查看此虚拟机的实时状态可以看到此虚拟机动态指标信息,以CPU为例,平台上此虚拟机的数据如图5所示。

图5 数据采集指标图

由图5可以看出,将vRops运用于宝之云监控体系能够很好地实现无代理监控的目的,解决了IaaS用户不想安装监控Agent而又想了解虚拟机运行实时状态的需求。同时由于实现了无代理监控,对虚拟机本身运行不会带来压力。

5 结束语

在云管理平台中,监控管理子系统处于中枢神经系统的地位。针对宝之云云管理平台实际运营过程中遇到的数据采集问题,引入了vRops解决方案。实践证明,将vRops运用于宝之云监控体系能够很好地实现无代理监控的目的,同时对虚拟机本身运行不会带来压力,进而为运营的优化奠定了条件。

猜你喜欢

监控软件资源
基础教育资源展示
The Great Barrier Reef shows coral comeback
禅宗软件
基于无人机的监控系统设计
一样的资源,不一样的收获
软件对对碰
资源回收
做好绿色资源保护和开发
即时通讯软件WhatsApp
科学训练监控新趋势——适时监控