用于近实时云基础设施策略实现和管理的系统和方法与流程

文档序号:11778506阅读:221来源:国知局
用于近实时云基础设施策略实现和管理的系统和方法与流程

本发明涉及实时云基础设施策略实现和管理,并且具体地,涉及一种用于近实时云基础设施策略实现和管理的系统和方法。



背景技术:

数据中心(包括虚拟化数据中心)是现代信息技术(it)基础设施的核心基础。虚拟化提供了几个优点。一个优点是虚拟化可以对于效率提供显著的提高,因为随着每个物理cpu具有大量内核的多核架构的出现,物理机已经变得足够强大。进一步,如今,存储器变得非常便宜。因此,可以将大量虚拟机整合到一台物理机上。第二个优点是虚拟化对于基础设施提供显著的控制。随着计算资源成为可替代资源,诸如,在云模型中,计算基础设施的供应和管理变得更加容易。因此,除了虚拟化提供的效率和更好的投资回报(roi)之外,还由于其管理优势,所以企业it人员优选数据中心中的虚拟化集群。

存在各自具有不同功能的各种类型的虚拟机。系统虚拟机(也称为完全虚拟化vm)提供目标真机的完全替代以及执行完整操作系统所需的功能级别。管理程序使用本地执行来共享和管理硬件,允许在相同物理机上执行彼此隔离的多个不同环境。现代管理程序使用硬件辅助虚拟化,硬件辅助虚拟化通过使用主要来自主机cpu的虚拟化特定的硬件能力来提供有效的并且完全的虚拟化。设计进程虚拟机,以通过提供抽象的并且与平台无关的程序执行环境来执行单个计算机程序。一些虚拟机被设计为还模拟不同的架构,并允许执行为另一cpu或架构编写的软件应用和操作系统。操作系统级虚拟化允许经由内核对多个隔离的用户空间实例的支持来划分计算机的资源,该多个隔离的用户空间实例通常被称为容器并且对于最终用户可以看起来并感觉像真机。

本发明涉及用于云基础设施策略实现和管理的系统和方法,以便允许实时监控和优化虚拟化资源。



技术实现要素:

本发明提出一种用于近实时云基础设施策略实现和管理的系统,该系统包括:多个主机装置;多个近实时探测代理,与多个主机装置相关联,其中,多个近实时探测代理中的一个近实时探测代理在多个主机装置中的每一个上操作;以及策略引擎,通信地耦接至多个主机装置并且包含与部署在多个主机装置中的至少一个主机装置中的应用程序相关联的策略;并且其中,策略引擎被编程为近实时监控跨多个主机装置的应用程序的部署变化,并将策略推送到在于其上部署了应用程序的每个主机装置上操作的近实时探测代理。

其中,多个主机装置中的一个或多个提供完全虚拟化虚拟机;策略引擎包括虚拟机适配器,虚拟机适配器被编程为监控跨多个主机装置中的多个虚拟机的应用程序的部署变化;多个主机装置中的一个或多个提供操作系统级虚拟化;策略引擎包括容器适配器,用于监控跨多个主机装置中的多个容器的应用程序的部署变化;多个主机装置中的一个或多个提供云服务提供商主机;并且策略引擎包括云服务提供商适配器,用于监控在云服务提供商主机中的应用程序的部署变化。

其中,多个主机装置中的一个或多个提供完全虚拟化虚拟机;多个主机装置中的一个或多个提供操作系统级虚拟化;并且多个主机装置中的一个或多个提供物理主机。

其中,多个主机装置中的一个提供完全虚拟化虚拟机;策略引擎包括虚拟机适配器,虚拟机适配器被编程为监控跨多个主机装置中的多个虚拟机的应用程序的部署变化;并且虚拟机适配器是openstack适配器,openstack适配器被配置为与在多个主机装置上操作的openstack云操作系统通信。

其中,多个主机装置中的一个提供操作系统级虚拟化;策略引擎包括容器适配器,用于监控跨多个主机装置中的多个容器的应用程序的部署变化;并且容器适配器是kubernetes适配器,kubernetes适配器被配置为与位于多个主机装置上的kubernetes管理器通信。

其中,策略包括指令,用于使近实时探测代理中的一个监控由其上部署了应用程序的多个主机装置中的一个主机装置生成的一个或多个度量,并且使近实时探测代理将关于一个或多个度量的信息报告至通信地耦接至主机装置的数据管理器。

本发明还提出一种用于近实时云基础设施策略实现和管理的方法,该方法包括:由通信地耦接至多个主机装置的策略引擎近实时监控跨多个主机装置的应用程序的部署变化,其中,策略引擎包含与部署在多个主机装置中的至少一个主机装置中的应用程序相关联的策略,并且其中,近实时探测代理在多个主机装置中的每一个上操作;以及由策略引擎将策略推送到在于其上部署了应用程序的每个主机装置上操作的近实时探测代理。

其中,多个主机装置中的一个或多个提供完全虚拟化虚拟机,多个主机装置中的一个或多个提供操作系统级虚拟化,并且多个主机装置中的一个或多个提供云服务提供商主机,方法进一步包括:利用在策略引擎中的虚拟机适配器,监控跨多个主机装置中的多个虚拟机的应用程序的部署变化;利用在策略引擎中的容器适配器,监控跨多个主机装置中的多个容器的应用程序的部署变化;并且利用在策略引擎中的云服务提供商适配器,监控跨云服务提供商主机中的应用程序的部署变化。

其中,多个主机装置提供完全虚拟化虚拟机;策略引擎包括虚拟机适配器,并且策略引擎进一步包括:利用虚拟机适配器监控跨多个主机装置中的多个虚拟机的应用程序的部署变化;并且虚拟机适配器是openstack适配器,openstack适配器被配置为与在多个主机装置上操作的openstack云操作系统通信。

其中,多个主机装置提供操作系统级虚拟化;策略引擎包括容器适配器,并且策略引擎进一步包括:利用容器适配器监控跨多个主机装置中的多个容器的应用程序的部署变化;并且容器适配器是kubernetes适配器,kubernetes适配器被配置为与位于多个主机装置上的kubernetes管理器通信。

方法进一步包括:利用近实时探测代理中的一个监控由其上部署了应用程序的多个主机装置中的一个主机装置生成的一个或多个度量,并且利用近实时探测代理将关于一个或多个度量的信息报告至通信地耦接至主机装置的数据管理器。

方法进一步包括:利用近实时探测代理中的一个监控由其上部署了应用程序的多个主机装置中的一个主机装置生成的一个或多个度量,利用近实时探测代理分析一个或多个度量,以确定是否满足对于一个或多个度量的规则的条件,并且利用近实时探测代理将关于是否满足规则的条件的信息报告至通信地耦接至主机装置的数据管理器。

方法进一步包括:提供通信地耦接至数据管理器和策略引擎的分析引擎,并且利用分析引擎接收关于一个或多个度量的信息,利用分析引擎确定是否满足对于一个或多个度量的规则的条件,并且利用分析引擎将关于是否满足规则的条件的信息报告至通信地耦接至分析引擎的客户端界面、通信地耦接至分析引擎的通知服务、或策略引擎。

方法进一步包括:提供通信地耦接至数据管理器和策略引擎的分析引擎,并且利用分析引擎接收关于是否满足规则的条件的信息,利用分析引擎确定是否满足对于一个或多个度量的另一规则的条件,并且利用分析引擎将关于是否满足另一规则的条件的信息报告至通信地耦接至分析引擎的客户端界面、通信地耦接至分析引擎的通知服务、或策略引擎。

本发明还提出一种用于近实时云基础设施策略实现和管理的系统,其包括用于执行上述方法的装置。

附图说明

附图是本公开的组成部分,并且包含在本说明书中并构成本说明书的一部分。附图示出了实例、非限制性实施方式,并结合本文所阐述的描述和权利要求来解释本公开的至少一些原理。

图1示出了可以在本发明中使用的多个主机装置。

图2示出了可以在本发明中使用的多个主机装置。

图3示出了可以在本发明中使用的多个主机装置。

图4示出了根据本公开的一个或多个实施方式的如图1所示的多个vm主机装置,该vm主机装置还包括在多个主机装置中的每一个上操作的实时探测代理。

图5示出了根据本公开的一个或多个实施方式的如图2所示的多个容器主机装置,该容器主机装置还包括在多个主机装置中的每一个上操作的实时探测代理。

图6示出了根据本公开的一个或多个实施方式的如图3所示的多个物理主机装置,该物理主机装置还包括在多个主机装置中的每一个上操作的实时探测代理。

图7示出了用于实时云基础设施策略实现和管理的本发明的系统的实施方式。

图8示出了用于实时云基础设施策略实现和管理的本发明的系统的实施方式。

图9示出了用于实时云基础设施策略实现和管理的本发明的系统的另一实施方式。

图10示出了用于实时云基础设施策略实现和管理的本发明的系统的另一实施方式。

图11呈现了根据本公开的一个或多个实施方式的用于提供实时云基础设施策略实现和管理的方法的实例。

图12呈现了根据本公开的一个或多个实施方式的用于提供实时云基础设施策略实现和管理的方法的另一实例。

图13呈现了根据本公开的一个或多个实施方式的用于提供实时云基础设施策略实现和管理的方法的另一实例。

图14呈现了根据本公开的一个或多个实施方式的用于提供实时云基础设施策略实现和管理的方法的另一实例。

具体实施方式

本发明解决了对于改进的云基础设施策略实现和管理的需要,以便允许对托管资源的实时监控和优化。在用于监控托管资源的传统方法中,静态规则将部署到主机服务器,这将使主机上的实体捕获规则中指定的度量,并将该度量输出至一些外部数据源。从该外部数据源中,基于输出的数据的分析,输出的数据将用于策略的分析和实现。部署静态规则、捕获数据、存储数据、处理数据、分析数据、以及然后向用户显示结果的此范例具有本发明所解决的几个缺点。

在本发明中,代替在一个地点实现的静态规则,策略被设置在应用的高级别。随着对应用的需求的增加,应用的实例通过例如更多的虚拟机(vm)和/或容器在主机装置上扩展并加速。然后,当该应用跨许多vm和/或容器(其可以分布在许多服务器上)部署时,本发明的系统和方法有助于确定适当的策略,并确保该策略在正确的一组服务器上可用于该应用。本发明的系统和方法将分析和控制方面视为无论在哪里都遵循该应用的策略。因此,即使跨vm和/或容器的应用可以移动,本发明确保正确的策略随着跨vm和/或容器的应用自动移动。这提供了应用级别的策略,使得对于给定的应用,如果在基础设施中的任何地方发生条件,则采取适当的措施。

此外,在传统方法会引入延迟并且会相对于监控的性能度量的细节的丰富性受到限制的情况下,本发明允许至少基于主机装置的操作状态,生成实时或近实时的事件和/或警报。在本发明中,策略在主机上、直接在数据的来源处实现,并且将分析的整个方面视为策略本身。本发明直接在主机处检测违规,并且采取适当的措施,包括(如果适用)直接在主机上的措施。

图1、图2和图3示出了可以在本发明中使用的多个主机装置100、200、300。图1的主机装置100是示例性系统vm或完全虚拟化vm,该vm提供目标真机的完全替代以及执行完整操作系统103所需的功能级别。图2的主机装置200是示例性操作系统级虚拟化系统,该系统允许经由内核对多个隔离的用户空间实例的支持来划分计算机的资源,该多个隔离的用户空间实例通常被称为容器并且对于最终用户可以看起来并感觉像真机。本发明可以与各种类型的虚拟化一起使用。例如,本发明的实施方式可以与对虚拟机(例如openstack)的管理和对容器(例如kubernetes)的管理一起使用。图3的主机装置300是可以不使用虚拟化的示例性物理主机装置。这些图像显示使用完全虚拟化vm的主机装置100、200、300、操作系统级虚拟化系统、以及不使用虚拟化的物理主机。本发明可以与这些类型的主机装置中的任一个一起使用,以及在具有跨单个或多个主机装置的这些装置的组合的混合环境中使用。

如图1所示,主机装置100中的每一个包括硬件106,该硬件可以包括处理器(或cpu)107、存储器108、网络接口卡(nic)109和磁盘驱动器110。磁盘驱动器110可以包括固态驱动器或硬盘驱动器或这两者的某个组合。在硬件上,主机装置100运行主机操作系统105。主机装置100还包括管理程序104以共享和管理硬件106,管理程序104允许在相同的物理机100上执行彼此隔离的多个不同的环境101。管理程序104可以使用硬件辅助虚拟化,硬件辅助虚拟化通过使用主要从主机cpu107的虚拟化特定的硬件能力来提供有效的并且完全的虚拟化。每个主机装置100包括一个或多个虚拟机101,每个虚拟机包括客户操作系统103和在客户操作系统103上运行的一个或多个应用程序(或应用)102。

类似地,如图2所示,主机装置200中的每一个包括硬件206,该硬件可以包括处理器(或cpu)207、存储器208、网络接口卡(nic)209和磁盘驱动器210。磁盘驱动器210可以包括固态驱动器或硬盘驱动器或这两者的某个组合。主机装置200在硬件上运行主机操作系统205。每个主机装置200包括一个或多个容器201,每个容器包括一个或多个应用202。

如图3所示,物理主机装置300中的每一个包括硬件306,该硬件可以包括处理器(或cpu)307、存储器308、网络接口卡(nic)309和磁盘驱动器310。磁盘驱动器310可以包括固态驱动器或硬盘驱动器或这两者的某个组合。主机装置300在硬件上运行主机操作系统305。每个主机装置300包括在主机操作系统305上运行的一个或多个应用302。

图4示出了如图1所示的多个vm主机装置100,vm主机装置还包括在多个主机装置中的每一个上操作的实时探测代理420。图5示出了如图2所示的多个容器主机装置200,容器主机装置还包括在多个主机装置中的每一个上操作的实时探测代理520。并且图6示出了如图3所示的多个主机装置300,主机装置还包括在多个主机装置中的每一个上操作的实时探测代理620。在主机装置100、200、300中执行的实时探测代理420、520、620可以监控在主机装置100、200、300中可用的一些或所有性能度量,并且可以分析所监控的信息,以便生成与主机装置100、200、300和/或与其相关联的计算部件的操作状态相关联的操作信息和/或智能。监控和分析可以在主机装置100、200、300上实时或近实时地本地执行。

在vm101、容器201或非虚拟化应用302共享主机装置的环境中,实时探测代理420、520、620可以监控和分析归因于vm101、容器201和/或应用302中的每一个的资源利用,从而根据消耗资源的计算部件提供资源消耗的实时度量的流。可以利用所监控的信息的分析来更新指示事件发生的第一控制信息和/或指示存在或不存在警报条件的第二控制信息。控制信息可以发送至远程装置,以更新与主机装置的性能条件相关的信息和/或智能。在每种情况下,数据的源是主机。例如,物理服务器包含硬件和其他部件,包括很多cpu、存储体、硬盘驱动器、网卡、主板、在源上的操作系统、vm以及容器。本发明可以从在主机上的这些部件中的任一个收集信息,诸如,正在发生于物理硬件(硬件、温度、误差)、系统层(操作系统层)的事情、使用了多少内存、共享存储器的方式或互换消耗。

图7示出了用于实时云基础设施策略实现和管理的本发明的系统700的实施方式。在每个图中,箭头表示允许在部件之间交换信息(例如,数据、元数据和/或信令)的通信链路。在一些实施方式中,通信链路中的每一个可以包括上行链路(或上行链路(ul))和下行链路(或下行链路(dl)),并且可以体现为或者可以包括无线链路(例如,深空无线链路和/或地面无线链路);电缆链路(例如,光纤线路、同轴电缆和/或双绞线);路由器;交换机;服务器装置;聚合器装置;总线架构;上述的组合等。此外,在每个方框内部,部件也通过通信链路(像上述通信链路)相互连接。如图所示,系统500包括运行主机操作系统505的一个或多个主机装置550、551、552。主机操作系统505可以对于主机装置550、551、552中的每一个是唯一的,但是为了简便起见,在每个装置中显示为505。主机装置550、551、552表示具有各种类型的虚拟化(包括如图7和图9所示的vm或容器501)的装置。系统500还包括在主机装置550、551、552中的每一个上操作的实时探测代理720。vm或容器501中的每一个可以运行多个应用(未示出)。vm或容器501中的每一个可以运行包括在那些应用中的特定应用502。如图7所示,特定应用502仅在主机装置550、551中的一些vm或容器501上运行。

系统500包括通信地耦接至主机装置550、551、552的策略引擎555。策略引擎555包含与特定应用502相关联的策略560。策略引擎555被编程以确定在主机装置550、551、552中的哪个上部署了特定应用502,并且监控跨主机装置550、551、552的应用502的部署变化,并且将策略560推送到在其上部署了应用的主机装置550、551中的每一个上的实时探测代理520。如图7所示,特定应用502仅部署在主机装置550和551上。因此,策略引擎555仅将策略560推送到主机装置550和551上的实时探测代理720。策略引擎555还被编程为如果确定主机装置不再运行与策略560相关联的特定应用502,则撤销策略560。

如图7所示,本发明的系统和方法确保在正确的主机上实现正确的策略。例如,在openstack的情况下,用户可以进入openstack客户端界面,并告诉系统用户需要10个vm用于应用。openstack选择要用于10个vm的服务器,并且然后,系统托管在服务器上的10个vm。本发明的系统和方法确保在托管10个vm的服务器上实现针对该应用的策略集。

如图8所示,系统800(像图7所示的系统)可以包括具有带有虚拟机601、容器603或物理主机的主机装置650、651、652的混合环境。另外,每个主机装置可以包括这些的组合。与图7中的系统一样,主机装置650、651、652中的一个或多个正在运行主机操作系统605、606、607。主机操作系统605、606、607可以对于主机装置650、651、652中的每一个是唯一的。系统600还包括在主机装置650、651、652中的每一个上操作的实时探测代理720。虚拟机601或容器603或非虚拟化主机装置652中的每一个可以运行多个应用(未示出)。vm601或容器603或非虚拟化主机装置652中的每一个可以运行包括在那些应用中的特定应用502。

系统800包括通信地耦接至主机装置650、651、652的策略引擎555。策略引擎555包含与特定应用502相关联的策略560。策略引擎555被编程以确定在主机装置650、651、652中的哪个上部署了特定应用502,并且监控跨主机装置650、651、652的应用502的部署变化,并且将策略560推送到在其上部署了应用的主机装置650、651、652中的每一个上的实时探测代理720。如图8所示,特定应用502部署在主机装置650、651和652上。因此,策略引擎555将策略560推送到主机装置650、651和652上的实时探测代理720。策略引擎555还被编程为如果确定主机装置不再运行与策略560相关联的特定应用502,则撤销策略560。

如图9所示,系统900可以包括通信地耦接至主机装置550、551、552的数据管理器570和分析引擎580。在一些实施方式中,策略560包括指令,用于使在主机装置550、551中的每一个内的实时探测代理720监控由在其上部署了应用502的多个主机装置550、551中的每一个生成的一个或多个度量,并使实时探测代理720将关于一个或多个度量的信息报告至数据管理器570。在每个实施方式中,所报告的信息可以包括策略560所需要的原始数据、汇总数据和采样数据。

分析引擎580可以被编程为从主机装置550、551中的每一个中接收关于一个或多个度量的信息,并且确定是否满足对于一个或多个度量的规则的条件。分析引擎580可以进一步被编程为将关于是否满足规则的条件的信息报告至通信地耦接至分析引擎的客户端界面590。另外或可替代地,分析引擎580可以进一步被编程为将关于是否满足规则的条件的信息报告至通信地耦接至分析引擎或策略引擎555的通知服务610。

在另一实施方式中,策略560包括指令,用于使主机装置550、551中的每一个内的实时探测代理720监控由其上部署了应用502的主机装置550、551中的每一个生成的一个或多个度量,使实时探测代理520分析一个或多个度量以确定是否满足对于一个或多个度量的规则的条件,并且使实时探测代理720将关于是否满足规则的条件的信息报告至数据管理器570。

分析引擎580可以被编程为从主机装置550、551中的每一个中接收关于是否满足规则的条件的信息,并且确定是否满足对于一个或多个度量的第二规则的条件。分析引擎580可以被编程为将关于是否满足第二规则的条件的信息报告至客户端界面590、通知服务610或策略引擎555。

图10示出了本发明的系统1000的另一实施方式。如图所示,系统1000包括运行主机操作系统705的一个或多个主机装置750。主机操作系统705可以对于主机装置750中的每一个是唯一的,但为简单起见,仅显示为705。主机装置750表示具有各种类型的虚拟化(包括vm或容器701)的装置以及没有虚拟化的主机装置。系统1000还包括在主机装置750中的每一个上操作的实时探测代理1020。vm或容器701或非虚拟化主机装置中的每一个可以运行多个应用(未示出)。vm或容器701或非虚拟化主机装置中的每一个可以运行包括在那些应用中的特定应用702。

系统1000包括通信地耦接至主机装置750的策略引擎755。策略引擎755包含与特定应用702相关联的策略760。策略引擎755被编程为确定在主机装置750中的哪个上部署了特定应用702,并且监控跨主机装置750的应用702的部署变化,并且将策略760推送到在其上部署了应用的主机装置750中的每一个上的实时探测代理1020。策略引擎755还被编程为如果确定主机装置不再运行与策略760相关联的特定应用702,则撤销策略760。

在一个实例中,主机装置750中的一个或多个提供完全虚拟化虚拟机,并且策略引擎755包括虚拟机适配器761以监控跨主机装置750中的虚拟机701的应用702的部署变化。如图10所示,虚拟机适配器761可以是openstack适配器,其被配置为与在主机装置750上操作的openstack云操作系统通信。

在另一实例中,主机装置750中的一个或多个提供操作系统级虚拟化,并且策略引擎755包括容器适配器762以监控跨主机装置750中的容器701的应用702的部署变化。如图10所示,容器适配器762可以是kubernetes适配器,其被配置为与主机装置750上的kubernetes平台通信。在其他实施方式中,策略引擎755包括其他适配器,包括诸如amazonweb服务(aws)适配器和googlecomputeengine(gce)适配器的云服务提供商适配器。适配器使得策略引擎755能够从虚拟化管理软件(例如,openstack或kubernetes)学习并映射由应用702的主机装置750所利用的基础设施。在一些实施方式中,系统1000包含虚拟机适配器、容器适配器和其他适配器(例如,amazonwebservices(aws)适配器、googlecomputeengine(gce)适配器),并且系统1000可以根据系统1000中的主机装置750的类型同时使用所有适配器。

随着基础设施的变化,系统1000保持映射真实的应用702的位置变化并且自动地适配应用702的位置变化,位置变化包括由于使用增长、使用减少、在主机之间的转换以及死机而引起的变化。策略引擎755还可以包括诸如nosql数据库的数据库765。

系统700可以包括数据平台部分730,该部分包括实时探测代理1020和数据管理器770。在一些实施方式中,策略760包括指令,用于使在主机装置750中的每一个内的实时探测代理1020监控由在其上部署了应用702的多个主机装置750中的每一个生成的一个或多个度量,并使实时探测代理1020将关于一个或多个度量的信息报告至数据管理器770。分布式数据平台部分730包括用于将从实时探测代理1020接收的信息(包括度量和警报)传送到策略引擎755、分析引擎780和/或客户端界面790的消息总线731。数据平台部分730还可以包括诸如nosql数据库的数据库732。

为了将信息传输至策略引擎755、分析引擎780和/或客户端界面790,数据管理器770可以使信息被放置在消息总线731上,并且然后,向策略引擎755、分析引擎780和/或客户端界面790传送该信息可用于在消息总线731上检索。分析引擎780通信地耦接至主机装置750、数据平台730和策略引擎755。分析引擎780可以聚合来自多个主机装置750的数据,以确定是否满足适用的规则。因此,系统700可以对来自所有主机750的所有信号运行二阶分析,以便跨所有主机捕获更宽的图片。分析引擎780可以包括报告模块781和健康sla模块782,以使能够具有对服务器进行健康监控的能力计划。

图11示出了本发明的示例性方法1100。方法1100包括提供多个主机装置1101,提供在多个主机装置中的每一个上操作的实时探测代理1102,并且提供策略引擎,该策略引擎通信地耦接至多个主机装置并且包含与部署在多个主机装置中的至少一个中的应用相关联的策略1103。方法1100进一步包括利用策略引擎监控跨多个主机装置的应用的部署变化,并且利用策略引擎将策略推送到在其上部署了应用的多个主机装置中的每一个上的实时探测代理1104。

图12示出了本发明的进一步示例性方法1200。图12的步骤在图11的步骤完成之后开始。该方法包括利用在多个主机装置中的每一个中的实时探测代理监控由在其上部署了应用的多个主机装置中的每一个生成的一个或多个度量1201,并且利用实时探测代理将关于一个或多个度量的信息报告至通信地耦接至多个主机装置的数据管理器1202。

可替换地,方法1200可以包括利用在多个主机装置中的每一个中的实时探测代理监控由在其上部署了应用的多个主机装置中的每一个生成的一个或多个度量1203,利用实时探测代理分析一个或多个度量以确定是否满足对于一个或多个度量的规则的条件1204,并且利用实时探测代理将关于是否满足规则的条件的信息报告至通信地耦接至多个主机装置的数据管理器1205。

图13示出了本发明的方法1300可以包括的额外步骤。图13中所示的步骤在图12中的步骤1202之后开始。方法1300可以包括提供通信地耦接至数据管理器和策略引擎的分析引擎1301,利用分析引擎从多个主机装置中的每一个中接收关于一个或多个度量的信息1302,利用分析引擎确定是否满足对于一个或多个度量的规则的条件1303,并且利用分析引擎将关于是否满足规则的条件的信息报告至通信地耦接至分析引擎的客户端仪表板、通信地耦接至分析引擎的通知服务、或策略引擎1304。

图14示出了本发明的方法1400可以包括的额外步骤。图14中所示的步骤在图12中的步骤1205之后开始。方法1400可以包括提供通信地耦接至数据管理器和策略引擎的分析引擎1401,利用分析引擎从多个主机装置中的每一个中接收关于是否满足规则的条件的信息1402,利用分析引擎确定是否满足对于一个或多个度量的第二规则的条件1403,并且利用分析引擎将关于是否满足第二规则的条件的信息报告至通信地耦接至分析引擎的客户端仪表板、通信地耦接至分析引擎的通知服务、或策略引擎1404。

本发明的系统和方法还可以包括tcp加速器(或vtcp),如在相关专利申请:于2014年1月7日提交的题为“systemandmethodforimprovingtcpperformanceinvirtualizedenvironments”的美国专利申请序列号141149,621、于2014年5月29日提交的题为“systemandmethodforimprovingtcpperformanceinvirtualizedenvironments”的美国专利申请序列号14/290,509中所公开的。vtcp(1)使在其他方式下不可用的度量可用,以及(2)允许实时修改tcp参数。即,vtcp使能够根据适当的策略对tcp参数进行新型监控和新型控制。监控和控制参数包括:

·tcp入口连接打开率

·tcp入口连接关闭率

·tcp入口连接中止率

·tcp入口连接拒绝率

·tcp入口连接建立率

·tcp出口连接打开率

·tcp出口连接关闭率

·tcp出口连接中止率

·tcp出口连接拒绝率

·tcp出口连接建立率

·tcp入口包速率

·tcp出口包速率

·tcp入口比特率

·tcp出口比特率

·udp入口包速率

·udp出口包速率

·udp入口比特率

·udp出口比特率

·其他入口包速率

·其他出口包速率

·其他入口比特率

·其他出口比特率

·tcp出口dupack阈值计数

·tcp出口窗口小于mss计数

·tcp入口dupack阈值计数

·tcp入口窗口小于mss计数

·tcp入口包重传率

·tcp出口包重传率

·tcp入口包重排序率

tcp出口包重排序率

·udp流速

·tcp流速

监控和控制应用级参数包括:

·应用入口响应时间

·应用出口响应时间

·应用入口比特率

·应用出口比特率

·应用入口包速率

·应用出口包速率

·应用http入口响应率

·应用http入口请求率

·应用http出口响应率

·应用http出口请求率

·应用http入口错误率

·应用http出口错误率

·应用入口rtt

·应用出口rtt

·应用rtt

·应用流动持续时间

·应用流量大小

如在相关申请:于2015年7月29日提交的题为“assessmentofoperationalstatesofacomputingenvironment”的美国专利申请序列号14/811,957中更详细地描述的,本公开的实施方式可以允许或以其他方式促进根据适当的策略在主机装置处本地监控与主机装置相关联的一组不同的性能度量。此外,可以在主机装置处本地分析从监控生成的信息,以便(在主机装置处)确定主机装置的操作状态。鉴于本公开的监控和分析的本地化性质,可以实时或近实时执行主机装置的操作条件的评估。此外,这种评估可以允许或以其他方式促进检测在警报条件之间的事件和/或转换,而没有在传统监控系统中通常存在的延迟。根据本公开的评估可以基于可以应用于指示性能度量的信息的丰富且灵活的测试条件。在一些实现方式中,测试条件可以应用于限定的计算部件,例如,主机装置、在主机装置中执行的应用、在主机装置中实例化的虚拟机、或在主机装置中或在虚拟机中实例化的容器。因此,本公开的实施方式可以允许监控归因于共享主机装置的资源的虚拟机或容器中的每一个的资源利用。因而,可以分析由计算部件排序的资源消耗的实时或近实时度量的流。在与主机装置的操作状态的评估相关联的测试中的这种特异性可以允许或以其他方式促进检测性能瓶颈和/或确定瓶颈的根本原因。

在至少某些实施方式中,本公开的方面的实现方式可以提供优于用于监控计算环境中的计算装置(例如,主机装置,诸如服务器装置)的操作条件的传统技术的改进。在一个实例中,计算装置的操作条件的评估在本地在计算装置处实现。因此,可以以更高的频率访问与评估相关联的性能度量,这可以允许或以其他方式促进更快地执行评估。在本地实现评估,避免了向远程计算装置传输指示与评估相关联的性能度量的信息以用于分析。因而,可以减轻或完全避免与这种信息的传输相关的延迟,这可以在评估中包括的性能度量的数量增加的情况下导致实质性性能改善。在另一实例中,与在操作条件的评估期间获得的原始数据相反,因为要发送指示或以其他方式表示警报和/或事件的发生的信息,所以从计算装置发送的信息的量可以显著减少。在另一实例中,鉴于与延迟减轻相关的效率增益,可以减少生成警报所需的时间。

本发明的策略可以包括指示或以其他方式表示在一个或多个主机装置处要分析的性能度量的选择的输入信息。输入信息还可以指示或以其他方式表示与可以用于执行或以其他方式促进在主机装置处的分析的测试相关联的一个或多个规则。测试可以与性能度量的选择相关联,因为测试可以应用于性能度量中的至少一个性能度量。可以从最终用户或从操作上耦接至数据管理器的计算装置接收输入信息。

在一些实施方式中,主机装置可以体现或可以构成服务器场。例如,主机装置可以体现分成两组的10个服务器装置的集群。主机装置中的一个或多个可以被配置为执行应用、虚拟机和/或容器化应用(或容器)。因而,可以根据策略传达的性能度量包括以下中的一个或多个:(a)与计算部件(例如,主机装置、在主机装置中执行的虚拟机的实例、在主机装置中执行的容器的实例等)相关联的性能度量,诸如,硬盘驱动器(hdd)空间使用(以百分比或绝对量表示);输入/输出(110)率;存储器空间使用(表示为百分比或绝对量);可用的网络传入带宽、可用的网络传出带宽、传入包的数量、传出包的数量、包大小分布、传入包丢失的数量、传出包丢失的数量;实例的所有流动的往返时间(rtt);实例的流动持续时间;请求的tcp会话数(syn);确认的tcp会话数(syn-ack);拒绝的tcp会话数(rst);中央处理单元(cpu)使用(表示为百分比或使用时间间隔);或包括cpu等待1/0请求的时间的1/0等待时间中的一个或多个,(b)与在主机装置处的应用的执行相关联的性能度量,诸如,重排序的包数量;掉包或丢包的数量;响应时间(例如,应用响应请求所花的时间);请求率(例如,应用接收的请求的数量);响应率(例如,由应用执行或以其他方式促进的响应的数量);延迟(例如,应用的一些或所有流或线程的rtt);流量大小(例如,传输的总字节数);应用的流动持续时间(例如,流动的总时间)等中的一个或多个。

进一步或在其他实施方式中,与测试相关联的规则可以指定一个或多个匹配标准,该匹配标准可以用于确定在评估下的计算部件(例如,主机装置、虚拟机、容器等)是否满足(a)生成指示事件发生的信息,或(b)生成警报或与之相关的信息(例如,警报处于活动状态或警报处于非活动状态)的至少一个条件。匹配标准可以包括参数的非空集和/或运算符的非空集。运算符的非空集中的至少一个运算符可以在参数的非空集中的至少一个上操作。另外或在一个实现方式中,至少一个运算符可以对指示与计算部件相关联的性能度量的信息进行操作。在一些实施方式中,运算符的非空集可以包括函数,该函数具有可以包括参数和/或其他参数(诸如时间)中的一个或多个的域。

包括在匹配标准中的参数可以是指示或以其他方式表示阈值的特定数量(例如,整数或实数)。与测试相关联的规则的应用可以包括在阈值与指示性能度量的信息之间的比较。例如,对于cpu使用(本公开中考虑的几个性能度量中的一个),规则可以指定关系运算符(例如,“大于”、“小于”、“等于”)应用到cpu使用和数字阈值(例如,定义的百分比):如果主机cpu使用>50%,则引起警告。

在某些情况下,阈值可以是将函数应用于指示性能度量的信息的结果而不是作为预定参数。该函数可以是匹配标准的运算符的非空集的标量运算符。因而,在一些实现方式中,阈值可以采用作为定义算法的输出的值。在一个实例中,函数可以表示指示性能度量(例如,cpu使用)的输入信息的n个样本{x1,x2,x3...xn}的基线标准偏差<j(实数):

在此处,xi是实数,i=1,2...n,n是定义采样间隔的自然数,并且μ是性能度量(例如,cpu使用)的前n个样本的平均值。因此,可以为传达cpu使用的信息的特定采样而计算的σ的值可以用于定义与规则相关联的阈值,例如:如果主机cpu使用>2σ,则引起警告。

应当注意,<j是为了说明的目的而呈现的一个实例,并且其他函数和/或运算符可以用于定义某些阈值。例如,可以利用采样的min({·})和max({·})。另外或在替代方案中,采样的一个或多个时刻或其函数可以用作确定阈值的函数。例如,采样的平均值(或第一非中心时刻)可以用作阈值。应当注意,包括在规则中的参数中的一个参数可以确定用于收集(或采样)指示性能度量(例如,cpu使用或其他度量)的信息的间隔持续时间(11ts,其可以以秒或其他时间单位表示)。

可以配置两种类型的规则:单一规则和复合规则。单一规则跟踪单个性能度量,并将性能度量与匹配标准进行比较。响应于这种比较的结果,可以生成与事件或警报相关联的控制信息。可以基于给定资源(例如,主机装置、虚拟机的实例、容器的实例、正在执行的应用的实例)的不同性能度量来定义多个单一规则。另外,对于不同的实例,可以同时或几乎同时地实现多个单一规则。作为说明,可以至少基于单一规则的应用的结果来生成实例级警告。例如,可以为两个不同的实例(例如,实例1和实例2)定义四个单一规则:

单一规则1:如果实例1cpu使用>50%,则引起警告;

单一规则2:如果实例1传出带宽>500mbps,则引起警告;

单一规则3:如果实例2disk_space_free<10%,则引起警告;以及

单一规则4:如果实例2cpu使用>75%,则引起警告。

单一规则5:如果主机cpu使用>50%,则引起警告。

应当注意,上面的规则1和规则5是非常不同的规则,因为一个规则涉及实例内的cpu使用,并且另一规则涉及主机装置内的cpu。应当进一步注意,单一规则的逻辑补码也是单一规则,并且根据本公开可以用作测试条件。

复合规则是两个或多个单一规则的集合。单一规则的顺序也定义复合规则。可以响应于两个或多个规则的结果以及可选地结果发生的顺序,来生成与事件或警报相关联的控制信息。更具体而言,可以从以下两个单一规则形成实例复合规则:(a)单一规则1:如果主机cpu使用>50%;以及(b)单一规则2:如果存储器使用>75%,则引起警告。第一复合规则可以如下:

复合规则1=单一规则1并且然后单一规则2。相应地,复合规则1可以是:如果主机cpu使用>50%,并且然后主机存储器使用>75%,则引起警告。

第二复合规则可以如下:

复合规则2=单一规则2并且然后单一规则1。相应地,复合规则可以是:如果主机存储器使用>75%,并且然后主机cpu使用>50%,则引起警告。

规则的同时发生还可以提供单一规则可以几乎同时应用的顺序,并且可以被确定为独立地满足。因此,第三个复合规则可以如下:

复合规则3=单一规则1并且同时单一规则2。相应地,复合规则3可以是:如果主机cpu使用>50%,并且同时主机存储器使用>75%,则引起警告。

可以使用用于被配置为在主机装置中执行的虚拟机的不同实例的单一规则来形成其他实例复合规则:(i)单一规则1:如果实例1磁盘使用>80%,则引起警告;和(ii)单一规则2:如果实例2磁盘使用>80%,则引起警告。实例复合规则可以如下:

复合规则1=单一规则1并且同时单一规则2,引起警告。相应地,复合规则1是:如果实例1磁盘使用>80%,并且同时如果实例2磁盘使用>80%,则引起警告。

复合规则2=当(主机存储器>90%)并且(实例1cpu>50%),则引起警告。

复合规则3=当(实例1cpu使用>50%)并且(实例2cpu使用>50%),则引起警告。

应当注意,这种复合规则2在两个不同的度量上相关联,同时在主机装置上测量一个度量,并且在在实例内测量第二个度量(例如,实例化vm或实例化容器)。

尽管为了说明的目的,在本文所描述的前述规则实例中,单个运算符应用于指示性能度量的信息,并且预定阈值作为匹配标准而被依赖,但是本公开不限于此。在一些实施方式中,与规则相关联的参数和函数可以允许对指示性能度量的信息应用丰富的测试。作为实例,规则可以包括可以在采样周期上生成指示性能度量(例如,hdd使用)的信息的聚合函数。采样周期可以是包括在规则中的可配置参数。另外,该规则可以包括可以将在采样周期上的聚合函数的输出与阈值(预定的或从采样信息中计算的)相比较的关系运算符(例如,“大于”、“小于”、“等于”等)。基于比较的结果,规则可以生成指示满足由关系运算符定义的条件的结果的数量的累积值。此外,规则可以规定,事件被认为已经发生,或者响应于满足定义的标准的确定的累积值来生成警报。具体而言,在一个实例中,可以如下指定测试:

如果在采样周期上聚合的信息采样的聚合函数相对于聚合数据和阈值满足关系运算符,则采样间隔被标记为满足异常条件。此外,当确定预定数量的间隔中的标记采样间隔的数量大于或等于第二阈值时,则可以更新(例如,生成或修改)控制信息。例如,在事件模式中,更新信息可以包括生成指示已发生了事件的控制信息。在另一实例中,在警告模式中,更新信息可以包括生成指示警报条件处于活动的控制信息。应当注意,在警告模式中,在确定在预定数量的间隔内的标记采样间隔的数量大于或等于第二阈值之前警报条件处于活动的情况下,可以绕过控制信息的更新。

此外,在事件模式下,并且在确定预定数量的间隔中的标记采样间隔的数量小于第二阈值的情况下,更新控制信息可以包括生成指示未发生事件的控制信息。鉴于本文中所描述的评估可以连续地或几乎连续地执行,更新控制信息可以包括生成事件已经停止发生的信息。在警告模式下,确定在预定数量的间隔中的标记采样间隔的数量小于第二阈值,更新控制信息可以包括生成指示警报条件处于非活动的控制信息。

在一些实现方式中,如本文所述,根据本公开的方面的测试可以指定与要在其上实现测试的主机装置中的一个或多个主机装置相关联的一组计算部件。这种子集可以被称为测试的范围。计算部件可以体现为或者可以包括主机装置、在主机装置中执行的应用、在主机装置中执行的虚拟机、或者在主机装置中执行的容器化应用(或容器)。在与测试范围中指定的计算部件相关联的主机装置处实现测试,可以允许或以其他方式促进评估计算部件的性能状态。因此,应当注意,通过将测试的实现方式集中在相关的计算部件上,测试的范围可以减轻或避免在与计算部件相关联的主机装置处的操作开销。

在本说明书中,为了说明的目的已阐述了很多具体细节,以便提供对本公开的透彻理解。然而,显然可以在没有这些具体细节的情况下实践主题公开。在其他情况下,以框图形式示出了公知的结构和装置,以便促进描述主题公开。

如本公开(包括附图)中所使用的,术语“部件”、“系统”、“平台”、“环境”、“单元”、“接口”等旨在表示计算机相关实体或与具有一个或多个特定功能的操作设备相关的实体,其中,实体可以是硬件、硬件和软件的组合、软件或执行中的软件。一个或多个这种实体也被称为“功能元件”。作为实例,部件可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过说明,在服务器或网络控制器上运行的应用以及服务器或网络控制器都可以是部件。一个或多个部件可以驻留在进程和/或执行的线程内,并且部件可以位于一个计算机上和/或分布在两个或多个计算机之间。而且,这些部件可以从其上存储有各种数据结构的各种计算机可读介质执行。部件可以经由本地和/或远程进程进行通信,诸如,根据具有一个或多个数据包的信号(例如,经由该信号与在本地系统、分布式系统内的另一个部件和/或跨网络(诸如互联网)与其他系统交互的一个部件的数据)。作为另一实例,部件可以是具有由电气或电子电路操作的机械部件提供的特定功能的设备,该设备由软件或由处理器执行的固件应用操作,其中,处理器可以在设备的内部或外部并执行软件或固件应用的至少一部分。作为另一实例,部件可以是通过电子部件提供特定功能的设备(无需机械部件),在电子部件内可以包括处理器,以执行至少部分地提供电子部件的功能的软件或固件。作为又一实例,接口可以包括1/0部件以及相关联的处理器、应用或应用编程接口(api)部件。虽然前述实例涉及部件的方面,但是示例性方面或特征也适用于系统、平台、接口、节点、编码器、解码器等。

此外,术语“或”旨在表示包含性的“或”,而不是排他的“或”。即,除非另有说明或从上下文中显而易见,“x采用a或b”旨在表示任何自然包容性排列。即,如果x采用a;x采用b;或x采用a和b这两者,则在任何前述情况下,满足“x采用a或b”。此外,除非另有说明或从上下文中显而易见为指向单数形式,否则在主题说明书和附图中使用的冠词“a”和“an”通常应被解释为意指“一个或多个”。

在本公开中使用的术语“处理器”可以指任何计算处理单元或装置,包括但不限于包括单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多处理器;具有硬件多线程技术的多核处理器;并行平台;以及具有分布式共享存储器的并行平台。此外,处理器可以指集成电路、专用集成电路(asic)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑控制器(plc)、复杂可编程逻辑器件(cpld)、离散栅极或晶体管逻辑、离散硬件部件或被设计为执行本文所描述功能的其任何组合。处理器可以使用纳米级架构,诸如但不限于基于分子和量子点的晶体管、开关以及栅极,以便优化空间使用或增强用户设备的性能。处理器也可以被实现为计算处理单元的组合。

此外,诸如“存储”,“数据存储”,“数据存储器”、“数据库”以及与部件的操作和功能相关的基本上任何其他信息存储部件的术语指“存储器部件”或体现在“存储器”内的实体或包括存储器的部件。应该理解的是,本文中描述的存储器部件可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器。此外,存储器部件可以是可移除的或附加到功能元件(例如,装置、服务器)中。

通过说明而非限制性地,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除rom(eeprom)或闪速存储器。易失性存储器可以包括用作外部高速缓冲存储器的随机存取存储器(ram)。通过说明而非限制性地,ram可用于许多形式中,诸如,同步ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据速率sdram(ddrsdram)、增强型sdram(esdram)、同步链路dram(sldram)以及直接rambusram(drram)。此外,本文中的系统或方法的所公开的存储器部件旨在包括但不限于包括这些和任何其他合适类型的存储器。

本文中描述的各种实施方式可以使用标准编程和/或工程技术来实现为方法、设备或制品。此外,本文中公开的各个方面也可以通过存储在存储装置中的程序模块或其他类型的计算机程序指令来实现,并由处理器或硬件和软件的其他组合、或硬件和固件执行。这种程序模块或计算机程序指令可以被加载到通用计算机、专用计算机或另一类型的可编程数据处理设备上,以制备机器,使得在计算机或其他可编程数据处理设备上执行的指令创建用于实现在本文中公开的功能的装置。

在本文中使用的术语“制品”旨在包括可从任何计算机可读装置、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储装置(例如,硬盘驱动器盘、软盘、磁条...)、光盘(例如,光盘(cd)、数字通用盘(dvd)、蓝光光盘(bd)...)、智能卡和闪存装置(例如,卡、棒、键驱动器...)。

以上描述的内容包括提供主题公开的优点的系统和方法的实例。为了描述主题公开的目的,当然不可能描述部件或方法的每个可想到的组合,但是本领域普通技术人员可以认识到,所要求保护的主题的许多进一步的组合和排列是可能的。此外,在详细描述、权利要求书、附录以及附图中使用的术语“包括”、“具有”、“拥有”等的程度上,这种术语旨在以与术语“包括”当在权利要求中用作过渡词时解释“包括”的方式相似的方式来包括。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1