云平台资源自适应预警方法与系统的制作方法

文档序号:6492664阅读:312来源:国知局
云平台资源自适应预警方法与系统的制作方法
【专利摘要】本发明实施例公开了一种云平台资源自适应预警方法与系统,其中,方法包括:节点管理单元按照第一预设周期采集物理机与各虚拟机的各种资源消耗数据并上报给资源分析预警服务器;资源分析预警服务器按照第二预设周期对各种资源消耗数据进行分析,预测未来各采集点物理机与各虚拟机的各种资源消耗数据;实时监控物理机的运行负载,若超过预警门限值,采集各虚拟机在当前时刻的资源消耗数据,并分析相对于之前预测的资源消耗数据的变化率是否大于1;若大于1,重新预测未来各采集点的资源消耗数据;并在预测出的资源消耗数据超过预设告警门限值时,进行事件通知。本发明实施例可以预测分析虚拟机未来的资源消耗数据,为定期调整资源分配提供支持。
【专利说明】云平台资源自适应预警方法与系统
【技术领域】
[0001]本发明涉及计算机技术,尤其是一种云平台资源自适应预警方法与系统。
【背景技术】
[0002]云计算是一种将池化的集群计算能力通过互联网向内外部用户提供按需服务的互联网新业务。云计算技术的优势在于能提高服务器的资源利用率,确保部署在同一台物理机上的虚拟机消耗资源的高峰期相互错开,能提高云平台的资源利用率,起到削峰填谷的效果。
[0003]在实现本发明的过程中,发明人发现现有的云计算技术至少存在以下问题:
[0004]由于虚拟机对资源的消耗不是一成不变的,高峰期和低谷期出现的规律也是会发生变化的。而现有的云计算技术无法提前预测同一台物理机上的虚拟机未来的资源消耗数据,从而无法提供安排部署虚拟机的依据、为定期调整资源分配提供支持,若在资源消耗高峰,进行虚拟机动态迁移调整,则会加剧对资源的消耗,影响云平台的正常运行。

【发明内容】

[0005]本发明实施例所要解决的技术问题是:提供一种云平台资源自适应预警方法与系统,以预测分析虚拟机未来的资源消耗数据,以此作为安排部署虚拟机的依据,为定期调整资源分配提供支持。
[0006]本发明实施例提供的一种云平台资源自适应预警方法,包括:
[0007]物理机上布署的节点管理单元按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据,并上报给资源分析预警服务器,所述各种资源消耗数据为物理机与各虚拟机对物理机中各项计算资源的使用数据;
[0008]资源分析预警服务器将节点管理单元上报的各种资源消耗数据存储在数据库中;
[0009]资源分析预警服务器按照第二预设周期,从数据库中获取当前时刻之前一个预设时间段内所述物理机与所述各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据并存储在所述数据库中;
[0010]资源分析预警服务器实时监控所述物理机的运行负载,在当前时刻到达未来某个时刻点时,分析所述物理机在当前时刻的各种资源消耗数据是否超过预警门限值;
[0011]响应于所述物理机在当前时刻有一项资源消耗数据超过预警门限值,资源分析预警服务器指示所述节点管理单元实时采集所述各虚拟机在当前时刻的该项资源消耗数据,并分析所述各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I;
[0012]响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,资源分析预警服务器根据所述之前预测的各虚拟机在当前时刻的该项资源消耗数据与所述变化率重新预测未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;
[0013]并在预测出的未来各采集点所述物理机的该项资源消耗数据超过预设告警门限值时,资源分析预警服务器进行事件通知。
[0014]上述方法的一个具体实施例中,所述各项计算资源具体包括中央处理单元CPU资源、内存资源、磁盘输入输出IO资源、网络吞吐量;
[0015]所述物理机对各项计算资源中每一项计算资源的使用数据具体为物理机上运行的所有虚拟机对该项计算资源的使用数据、以及所述物理机上用于虚拟出各虚拟机的虚拟化软件应用程序对该项计算资源的使用数据之和。
[0016]上述方法的一个具体实施例中,实时监控所述物理机的运行负载包括:
[0017]所述节点管理单元具体根据资源分析预警服务器的采集指令实时采集所述物理机在当前时刻的各种资源消耗数据并上报给所述资源分析预警服务器;所述资源分析预警服务器具体根据所述节点管理单元实时上报的所述物理机在当前时刻的各种资源消耗数据实时监控所述物理机的运行负载;或者
[0018]所述节点管理单元按照监控时限定时采集所述各虚拟机的各项资源消耗数据并上报给所述资源分析预警服务器;所述资源分析预警服务器具体根据所述节点管理单元定时上报的所述物理机的各种资源消耗数据实时监控所述物理机的运行负载。
[0019]上述方法的一个具体实施例中,还包括:
[0020]在每个预设时间段内连续产生M次事件通知时,将告警级别上升一个等级,其中,M为预设大于I的整数;
[0021]在告警级别上升到等级N时,产生严重告警通知,其中,N为预设大于I的整数;
[0022]所述资源分析预警服务器向所述节点管理单元下发控制指令,以启动对相应虚拟机的启动、关停或迁移。
[0023]上述方法的一个具体实施例中,所述资源分析预警服务器向所述节点管理单元下发控制指令包括:
[0024]所述资源分析预警服务器向统一综合网管系统上报严重告警通知以及重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;
[0025]统一综合网管系统根据所述重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据对不同物理机上的虚拟机进行统一资源调配,并根据调配结果向所述资源分析预警服务器下发调配指令;
[0026]所述资源分析预警服务器根据所述调配指令向所述节点管理单元下发控制指令。
[0027]上述方法的一个具体实施例中,所述资源分析预警服务器根据所述调配指令向所述节点管理单元下发控制指令时,还向其它物理机上的节点管理单元下发控制指令,以启动对所述其它物理机上相应虚拟机的启动、关停或迁移。
[0028]本发明实施例提供的一种云平台资源自适应预警系统,包括各节点管理单元与资源分析预警服务器,每个节点管理单元分别布署于一个物理机上;
[0029]所述节点管理单元,用于按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据,并上报给资源分析预警服务器,所述各种资源消耗数据为物理机与各虚拟机对物理机中各项计算资源的使用数据;
[0030]所述资源分析预警服务器,用于将节点管理单元上报的各种资源消耗数据存储在数据库中;以及按照第二预设周期,从数据库中获取当前时刻之前一个预设时间段内所述物理机与所述各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据并存储在所述数据库中;以及实时监控所述物理机的运行负载,在当前时刻到达未来某个时刻点时,分析所述物理机在当前时刻的各种资源消耗数据是否超过预警门限值;响应于所述物理机在当前时刻有一项资源消耗数据超过预警门限值,指示所述节点管理单元实时采集所述各虚拟机在当前时刻的该项资源消耗数据,并分析所述各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I ;响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,根据所述之前预测的各虚拟机在当前时刻的该项资源消耗数据与所述变化率重新预测未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;并在预测出的未来各采集点所述物理机的该项资源消耗数据超过预设告警门限值时,进行事件通知。
[0031]上述系统的一个具体实施例中,所述各项计算资源具体包括中央处理单元CPU资源、内存资源、磁盘输入输出IO资源、网络吞吐量;
[0032]所述物理机对各项计算资源中每一项计算资源的使用数据具体为物理机上运行的所有虚拟机对该项计算资源的使用数据、以及所述物理机上用于虚拟出各虚拟机的虚拟化软件应用程序对该项计算资源的使用数据之和。
[0033]上述系统的一个具体实施例中,所述节点管理单元包括控制管理模块与资源采集模块;
[0034]所述资源采集模块,用于按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据;
[0035]所述控制管理模块,用于将所述资源采集模块采集的各种资源消耗数据上报给资源分析预警服务器。
[0036]上述系统的一个具体实施例中,所述资源分析预警服务器包括数据收集模块、智能分析模块、监控预警模块与数据库;
[0037]所述数据收集模块,用于将所述节点管理单元中控制管理模块上报的各种资源消耗数据存储在数据库中;
[0038]所述智能分析模块,用于按照第二预设周期,从数据库中获取当前时刻之前一个预设时间段内所述物理机与所述各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据并存储在所述数据库中;
[0039]所述监控预警模块,用于实时监控所述物理机的运行负载,在当前时刻到达未来某个时刻点时,分析所述物理机在当前时刻的各种资源消耗数据是否超过预警门限值;响应于所述物理机在当前时刻有一项资源消耗数据超过预警门限值,指示所述控制管理模块实时采集所述各虚拟机在当前时刻的该项资源消耗数据,并根据所述控制管理模块上报的该项资源消耗数据,分析所述各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I ;响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,根据所述之前预测的各虚拟机在当前时刻的该项资源消耗数据与所述变化率重新预测未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;并在预测出的未来各采集点所述物理机的该项资源消耗数据超过预设告警门限值时,进行事件通知;
[0040]所述数据库,用于存储所述控制管理模块上报的各种资源消耗数据、以及预测出的未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据。
[0041]上述系统的一个具体实施例中,所述控制管理模块还用于根据资源分析预警服务器的采集指令,指示资源采集模块实时采集所述物理机在当前时刻的各种资源消耗数据并上报给所述监控预警模块;所述监控预警模块实时监控所述物理机的运行负载时,具体根据所述节点管理单元实时上报的所述物理机在当前时刻的各种资源消耗数据实时监控所述物理机的运行负载;或者
[0042]所述控制管理模块还用于按照监控时限,指示资源采集模块定时采集所述各虚拟机的各项资源消耗数据并上报给所述监控预警模块;所述监控预警模块实时监控所述物理机的运行负载时,具体根据所述控制管理模块定时上报的所述物理机的各种资源消耗数据实时监控所述物理机的运行负载。
[0043]上述系统的一个具体实施例中,所述监控预警模块还用于在每个预设时间段内连续产生M次事件通知时,将告警级别上升一个等级,其中,M为预设大于I的整数;并在告警级别上升到等级N时,产生严重告警通知,其中,N为预设大于I的整数;以及响应于产生严重告警通知,向所述控制管理模块下发控制指令,以启动对相应虚拟机的启动、关停或迁移。
[0044]上述系统的一个具体实施例中,还包括统一综合网管系统;
[0045]所述监控预警模块,还用于向统一综合网管系统上报严重告警通知以及重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;以及具体根据所述统一综合网管系统下发的调配指令向所述控制管理模块下发控制指令;
[0046]所述统一综合网管系统,用于根据所述重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据对不同物理机上的虚拟机进行统一资源调配,并根据调配结果向所述资源分析预警服务器下发调配指令。
[0047]上述系统的一个具体实施例中,所述监控预警模块根据所述调配指令向所述控制管理模块下发控制指令时,还向其它物理机上的节点管理单元中的控制管理模块下发控制指令,以启动对所述其它物理机上相应虚拟机的启动、关停或迁移。
[0048]基于本发明上述实施例提供的云平台资源自适应预警方法与系统,在每个物理机上分别布署一个节点管理单元,按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据,并上报给资源分析预警服务器;资源分析预警服务器可以按照第二预设周期,对当前时刻之前一个预设时间段内物理机与各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点物理机与各虚拟机的各种资源消耗数据并存储在数据库中;并实时监控物理机的运行负载,在当前时刻到达未来某个时刻点时,分析物理机在当前时刻的各种资源消耗数据是否超过预警门限值;若超过预警门限值,实时采集各虚拟机在当前时刻的该项资源消耗数据,并分析各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I;若变化率大于1,根据之前预测的各虚拟机在当前时刻的该项资源消耗数据与变化率重新预测未来各采集点物理机与各虚拟机的该项资源消耗数据,并在预测出的未来各采集点物理机的该项资源消耗数据超过预设告警门限值时,资源分析预警服务器进行事件通知。
[0049]与现有技术相比,本发明实施例可以以近期历史资源消耗数据为基准,分析虚拟机消耗资源的变化规律,预测分析虚拟机未来的资源消耗数据,以此作为安排部署虚拟机的依据,为定期调整资源分配提供支持,将消耗资源高峰期不同的虚拟机错开部署,达到削峰填谷和自适应业务发展变化的效果。同时对资源运行负载进行提前预警分析,提前提出资源调配预警,避免在资源消耗高峰,进行虚拟机动态迁移调整,加剧对资源的消耗,影响平台运行,有利于提高云平台的资源使用率。
[0050]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0051]构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
[0052]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0053]图1为本发明云平台资源自适应预警系统一个实施例的结构示意图。
[0054]图2为本发明云平台资源自适应预警方法一个实施例的流程图。
[0055]图3为本发明云平台资源自适应预警方法一个应用实施例的流程图。
【具体实施方式】
[0056]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0057]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0058]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0059]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0060]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0061]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0062]本发明实施例提出一种云平台资源自适应预警方法与系统,定期或实时采集云平台资源池中物理机和虚拟机消耗资源的数据,例如,中央处理单元(CPU)资源、内存资源、磁盘输入输出(10)资源、、网络吞吐量等。以近期历史数据为基准,分析虚拟机消耗资源的变化规律,预测分析未来的资源消耗数据,以此作为安排部署虚拟机的依据,为定期调整资源分配提供支持,将消耗资源高峰期不同的虚拟机错开部署,达到削峰填谷和自适应业务发展变化的效果。同时对资源运行负载进行提前预警分析,避免在资源消耗高峰,进行虚拟机动态迁移调整,加剧对资源的消耗,影响平台运行。
[0063]图1为本发明云平台资源自适应预警系统一个实施例的结构示意图。如图1所示,该实施例的云平台资源自适应预警系统包括各节点管理单元110与资源分析预警服务器120,每个节点管理单元110分别布署于一个物理机上。其中:
[0064]节点管理单元(Agent) 110,用于按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据,并上报给资源分析预警服务器120,各种资源消耗数据为物理机与该物理机上各虚拟机对物理机中各项计算资源的使用数据。另外,节点管理单元110也可以根据资源分析预警服务器120的采集指令采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据。示例性地,各项计算资源具体可以包括但不限于CPU资源、内存资源、磁盘IO资源、网络吞吐量等资源。
[0065]具体地,物理机对各项计算资源中每一项计算资源的使用数据具体为该物理机上运行的所有虚拟机对该项计算资源的使用数据、以及物理机上用于虚拟出各虚拟机的虚拟化软件应用程序对该项计算资源的使用数据之和,即:本发明的各实施例中,针对每项计算资源分别计算。
[0066]资源分析预警服务器120,用于将节点管理单元110上报的各种资源消耗数据存储在数据库124中;以及按照第二预设周期,从数据库124中获取当前时刻之前一个预设时间段内物理机与该物理机上各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点物理机与该物理机上各虚拟机的各种资源消耗数据并存储在数据库124中;以及实时监控物理机的运行负载,在当前时刻到达未来某个时刻点时,分析节点管理单元110物理机在当前时刻的各种资源消耗数据是否超过预警门限值;响应于物理机在当前时刻有一项资源消耗数据超过预警门限值,指示节点管理单元110实时采集该物理机上各虚拟机在当前时刻的该项资源消耗数据,并分析节点管理单元110上报的各虚拟机在当前时刻的该项资源消耗数据分别相对于数据库124之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I ;响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于数据库124之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,根据之前预测的各虚拟机在当前时刻的该项资源消耗数据与变化率重新预测未来各采集点物理机与该物理机上各虚拟机的该项资源消耗数据;并在预测出的未来各采集点物理机的该项资源消耗数据超过预设告警门限值时,进行事件通知。示例性地,资源分析预警服务器120可以单独设置,也可以部署在单独一个物理机或者虚拟机上。
[0067]再参见图1,根据本发明云平台资源自适应预警系统实施例一个的一个具体示例而非限制,节点管理单元110具体可以包括控制管理模块112与资源采集模块111。其中:
[0068]资源采集模块111,用于按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据。
[0069]控制管理模块112,用于将资源采集模块111采集的各种资源消耗数据上报给资源分析预警服务器120。
[0070]再参见图1,根据本发明云平台资源自适应预警系统实施例一个的另一个具体示例而非限制,资源分析预警服务器120具体可以包括数据收集模块121、智能分析模块122、监控预警模块与数据库124。其中:
[0071]数据收集模块121,用于将节点管理单元110中控制管理模块112上报的各种资源消耗数据存储在数据库124中。
[0072]智能分析模块122,用于按照第二预设周期,从数据库124中获取当前时刻之前一个预设时间段内物理机与该物理机上各虚拟机的各种资源消耗数据作为历史数据,对不同种类的资源消耗数据分别进行分析,预测未来各采集点物理机与该物理机上各虚拟机的各种资源消耗数据并存储在数据库124中。
[0073]示例性地,智能分析模块122以天为周期分析其中任意一个虚拟机消耗资源的变化规律。将I天24小时按5分钟(作为第一预设周期)颗粒度作为资源消耗数据采集点与分析点,取最近7天(作为第二预设周期)的资源消耗数据作为分析的历史数据,预测分析第二天该虚拟机资源消耗的变化曲线,其中第一预设周期与第二预设周期的时间可以根据实际需求配置调整。[0074]假设Yi,其中i=[l,2,3,".,287,288]为I天中288个的数据分析点。Xij,其中j=[l, 2,3,4,5,6,7]为对应Yi最近7天在该时间点的历史数据。
[0075]计算Yi 的期望值=Ei= Σ j Xij/?;
[0076]计算Yi 的标准方差 Oi= V ( Σ (Xij-Ei) 2/7);
[0077]将期望值Ei和标准方差σ i的和作为未来第二天Yi的预测值Yi=Ei+ σ i。
[0078]期望值Ei计算了当前时刻点近7天的一个平均值,标准方差σ i则计算近7天的一个平均波动范围。期望值Ei加标准方差σ 综合分析方法,提供了自适应的资源预警机制。
[0079]监控预警模块123,用于实时监控物理机的运行负载,即:物理机对每项资源的消耗,在当前时刻到达未来某个时刻点时,分析节点管理单元110物理机在当前时刻的各种资源消耗数据是否超过预警门限值;响应于物理机在当前时刻有一项资源消耗数据超过预警门限值,指示控制管理模块112实时采集该物理机上各虚拟机在当前时刻的该项资源消耗数据,并根据控制管理模块112上报的该项资源消耗数据,分析各虚拟机在当前时刻的该项资源消耗数据分别相对于数据库124之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I ;响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于数据库124之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,根据之前预测的各虚拟机在当前时刻的该项资源消耗数据与变化率重新预测未来各采集点物理机与各虚拟机的该项资源消耗数据;并在预测出的未来各采集点物理机的该项资源消耗数据超过预设告警门限值时,进行事件通知。
[0080]继续智能分析模块122中的示例,假设当前时刻采集的该物理机上各虚拟机在当前时刻的该项资源消耗数据的当前值为Ζ,智能分析模块122预测的各虚拟机在当前时刻的每一项资源消耗数据表示为Y=E+σ,计算变化率:ε = (Z-E)/σ。当ε >1时,说明当前的资源使用波动超过了原先预测的范围,未来的资源使用负载可能增加。若当前时刻不是数据采集点,则可以通过对智能分析模块122预测得到的当前时刻前一时刻与后一时刻的各虚拟机在当前时刻的每一项资源消耗数据进行线性插值得到,例如,取二者的平均值。通过线性插值法可以得到第二天每个时刻点的预测值。
[0081]对ε>1的虚拟机重新计算后续时间点的各个预测值:Y’=Ε+σ*ε,然后根据新的预测值,检查物理机当前时刻的后续各时刻点的运行负载。
[0082]数据库124,用于存储控制管理模块112上报的各种资源消耗数据、以及预测出的未来各采集点物理机与该物理机上各虚拟机的各种资源消耗数据。
[0083]进一步地,在另一个具体示例中,控制管理模块112还可以用于根据资源分析预警服务器120的采集指令,指示资源采集模块111实时采集物理机在当前时刻的各种资源消耗数据并上报给监控预警模块123。相应地,监控预警模块123实时监控物理机的运行负载时,具体可以根据节点管理单元110实时上报的物理机在当前时刻的各种资源消耗数据实时监控物理机的运行负载。
[0084]或者,控制管理模块112还可以用于按照监控时限,指示资源采集模块111定时采集各虚拟机的各项资源消耗数据并上报给监控预警模块123。相应地,监控预警模块123实时监控物理机的运行负载时,具体可以根据控制管理模块112定时上报的物理机的各种资源消耗数据实时监控物理机的运行负载。如果运行负载超过预设告警门限,可能出现性能问题,产生事件通知。
[0085]在本发明云平台资源自适应预警系统的另一个实施例中,监控预警模块123还可以用于在每个预设时间段内连续产生M次事件通知时,将告警级别上升一个等级,其中,M为预设大于I的整数;并在告警级别上升到等级N时,产生严重告警通知,提高了告警的有效性和及时性,其中,N为预设大于I的整数;以及响应于产生严重告警通知,向控制管理模块112下发控制指令,以启动对相应虚拟机的启动、关停或迁移。
[0086]示例性地,如果事件通知持续产生,例如连续产生三次,则告警级别逐步升级,告警级别可以示例性地分三个等级,升级为严重告警时,说明需要启动虚拟机动态迁移,将负载较高的物理机上的部分虚拟机迁移到其他负载较低物理机上,减轻该负载较高的物理机运行负载,否则后续可能产生性能问题影响云平台运行,从而通过监控预警分析,规避了资源消耗异常波动对云平台的影响。
[0087]进一步地,在本发明云平台资源自适应预警系统的又一个实施例中,还可以包括统一综合网管系统130。该实施例中,监控预警模块123,还可以用于向统一综合网管系统130上报严重告警通知以及重新预测的未来各采集点物理机与该物理机上各虚拟机的该项资源消耗数据;以及具体根据统一综合网管系统130下发的调配指令向控制管理模块112下发控制指令。统一综合网管系统130,用于根据监控预警模块123上报的重新预测的未来各采集点物理机与该物理机上各虚拟机的该项资源消耗数据对不同物理机上的虚拟机进行统一资源调配,并根据调配结果向资源分析预警服务器120下发调配指令。可选地,监控预警模块123还可以定期将智能分析模块122预测得到的虚拟机资源消耗的预测分析结果上报电信统一综合网管130,以便于查询、统一管理。
[0088]可选地,监控预警模块123根据调配指令向控制管理模块112下发控制指令时,还可以向其它物理机上的节点管理单元110中的控制管理模块112下发控制指令,以启动对其它物理机上相应虚拟机的启动、关停或迁移,从而实现各物理机上各虚拟机之间的统一资源调配,通过分析虚拟机在一个时间段当中(例如,以天为周期时,一天)消耗各种不同资源的规律,将资源消耗高峰期不同的虚拟机部署在同一台物理机上,使得物理机的资源使用率在大部分时间内稳定在一个水平,达到削峰填谷的效果,更加合理的利用云平台的资源。
[0089]在一个云平台资源池中,有多台物理机,可以根据需要决定哪些物理机接收资源分析预警服务器120的统一管理,这些物理机上就需要配置节点管理单元110,从而连接到资源分析预警服务器120,接受统一调度。根据本发明云平台资源自适应预警系统实施例的再一个具体示例而非限制,各实施例的云平台资源自适应预警系统还可以包括一个注册管理单元(图中未示出),该注册管理单元可以单独设置,也可以设置在资源分析预警服务器120中。节点管理单元110启动后,可以通过其中的控制管理模块112,可以向注册管理单元注册所在服务器以及该服务器上运行的各虚拟机的名称、编号等标识信息,还可以在该服务器上运行的各虚拟机发生变化(例如,关停、启动、迁移等)时,向注册管理单元发送更新消息,以对注册信息进行更新,以便资源分析预警服务器120根据该注册管理单元中的注册信息向节点管理单元110或其中的控制管理模块112发送运行指令,例如,资源采集指令,以及虚拟机关停、启动、迁移(从一台物理机迁移至另一台物理机)等控制指令。
[0090]图2为本发明云平台资源自适应预警方法一个实施例的流程图。如图2所示,该实施例云平台资源自适应预警方法包括:
[0091]210,物理机上布署的节点管理单元按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据,并上报给资源分析预警服务器,各种资源消耗数据为物理机与各虚拟机对物理机中各项计算资源的使用数据。
[0092]示例性地,各项计算资源具体可以包括但不限于CPU资源、内存资源、磁盘IO资源、网络吞吐量等资源。
[0093]具体地,物理机对各项计算资源中每一项计算资源的使用数据具体为该物理机上运行的所有虚拟机对该项计算资源的使用数据、以及物理机上用于虚拟出各虚拟机的虚拟化软件应用程序对该项计算资源的使用数据之和,即:本发明的各实施例中,针对每项计算资源分别计算。
[0094]220,资源分析预警服务器将节点管理单元上报的各种资源消耗数据存储在数据库中。
[0095]230,资源分析预警服务器按照第二预设周期,从数据库中获取当前时刻之前一个预设时间段内物理机与该物理机上各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点物理机与该物理机上各虚拟机的各种资源消耗数据并存储在数据库中。
[0096]240,资源分析预警服务器实时监控物理机的运行负载,在当前时刻到达未来某个时刻点时,分析物理机在当前时刻的各种资源消耗数据是否超过预警门限值。
[0097]响应于物理机在当前时刻有一项资源消耗数据超过预警门限值,执行250的操作。否则,若物理机在当前时刻的各项资源消耗数据均未超过预警门限值,不执行本实施例的后续流程。
[0098]示例性地,可以通过如下方式实时监控物理机的运行负载:
[0099]节点管理单元具体根据资源分析预警服务器的采集指令实时采集物理机在当前时刻的各种资源消耗数据并上报给资源分析预警服务器;资源分析预警服务器具体根据节点管理单元实时上报的物理机在当前时刻的各种资源消耗数据实时监控物理机的运行负载;或者
[0100]节点管理单元按照监控时限定时采集各虚拟机的各项资源消耗数据并上报给资源分析预警服务器;资源分析预警服务器具体根据节点管理单元定时上报的物理机的各种资源消耗数据实时监控物理机的运行负载。
[0101]250,资源分析预警服务器指示该物理机上的节点管理单元实时采集该物理机上各虚拟机在当前时刻的该项资源消耗数据,并分析节点管理单元上报的各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I。
[0102]响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,执行260的操作。否则,若该变化率不大于1,不执行本实施例的后续流程。
[0103]260,资源分析预警服务器根据之前预测的各虚拟机在当前时刻的该项资源消耗数据与变化率重新预测未来各采集点物理机与该物理机上各虚拟机的该项资源消耗数据。
[0104]270,在预测出的未来各采集点物理机的该项资源消耗数据超过预设告警门限值时,资源分析预警服务器进行事件通知。
[0105]根据本发明云平台资源自适应预警方法的另一个实施例,在图2所示实施例中,资源分析预警服务器在每个预设时间段内连续产生M次事件通知时,可以将告警级别上升一个等级,其中,M为预设大于I的整数;并在在告警级别上升到等级N时,产生严重告警通知,其中,N为预设大于I的整数;此时,资源分析预警服务器可以向节点管理单元下发控制指令,以启动对相应虚拟机的启动、关停或迁移。
[0106]示例性地,资源分析预警服务器向节点管理单元下发控制指令具体可以包括:
[0107]资源分析预警服务器向统一综合网管系统上报严重告警通知以及重新预测的未来各采集点物理机与该物理机上各虚拟机的该项资源消耗数据;
[0108]统一综合网管系统根据重新预测的未来各采集点物理机与该物理机各虚拟机的该项资源消耗数据对不同物理机上的虚拟机进行统一资源调配,并根据调配结果向资源分析预警服务器下发调配指令;
[0109]资源分析预警服务器根据调配指令向节点管理单元下发控制指令。
[0110]进一步地,资源分析预警服务器根据调配指令向节点管理单元下发控制指令时,还可以向其它物理机上的节点管理单元下发控制指令,以启动对其它物理机上相应虚拟机的启动、关停或迁移。
[0111]图3为本发明云平台资源自适应预警方法一个应用实施例的流程图。该应用实施例以一个具体实例为例对本发明实施例的实现进行进一步说明,该实施例的数字仅为示例性例举,并不构成对本发明实施例的应用限制。如图3所示,该应用实施例包括以下流程:
[0112]310,各节点管理单元Agent注册到资源预警分析服务器中的注册管理单元,每隔5分钟采集一次所在物理机和该物理上虚拟机资源消耗数据,并上报到预警分析服务器中的数据收集模块。
[0113]320,数据收集模块汇总各节点管理单元Agent上报的资源消耗数据,录入数据库。
[0114]330,智能分析模块根据操作320中收集的资源消耗数据,每隔6个小时分析一次资源消耗变化规律,分析方法如下:
[0115]331,针对每个采集点,提取近7天的历史数据;
[0116]332,计算每个采集点近7天的期望值=Ei= Σ」XijA ;
[0117]333,计算每个采集点近7天的标准方差:σ i= V ( Σ (Xij-Ei) 2/7);
[0118]334,计算Yi=Ei+ σ i?作为对应采集点第二天的预测值,并录入数据库。[0119]340,监控预警模块第二天实时监控物理机运行负载是否超过预警门限值。
[0120]350,如果超过预警门限值,监控预警模块获取该物理机上每台虚拟机在当前时刻点的资源消耗数据Zi和从数据库提取之前的预测分析值Yi=Ei+σ ,。否则,不执行后续操作。
[0121]360,监控预警模块计算每台虚拟机当前资源消耗的变化率:ε i= (Z1-Ei) / σ iD
[0122]如果ε >1,说明当前虚拟机资源消耗超过了预期的增长范围,需要重新评估未来该虚拟机的资源消耗值。否则,不执行后续操作。
[0123]370,监控预警模块根据变化率ε i,重新计算该虚拟机后续每个采集点的资源消耗值 Y/ =Ei+σ * ε iD
[0124]380,监控预警模块根据物理机上每台虚拟机新的资源消耗值,计算物理机运行负载,是否会超过预设告警门限。
[0125]如果超过预设告警门限,可能产生性能问题,执行390的操作。否则,不执行后续操作。
[0126]390,监控预警模块产生事件通知。
[0127]400,如果事件通知持续产生(例如,连续产生三次),则告警逐步升级(告警可以分三个等级)并产生告警通知,告警通知传递至电信统一综合网管系统。
[0128]410,当预警级别为严重告警时,监控预警模块可以根据电信统一综合网管系统的调配指令,向相应的节点管理单元发送控制指令,作为启动虚拟机迁移,以减轻物理机运行负载的参考。
[0129]本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。由于系统实施例与方法实施例基本对应,所以相关之处相互参见相应实施例说明即可。
[0130]可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
[0131]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0132]本发明实施例提可以以近期历史资源消耗数据为基准,分析虚拟机消耗资源的变化规律,预测分析虚拟机未来的资源消耗数据,以此作为安排部署虚拟机的依据,为定期调整资源分配提供支持,将消耗资源高峰期不同的虚拟机错开部署,达到削峰填谷和自适应业务发展变化的效果。同时对资源运行负载进行提前预警分析,提前提出资源调配预警,避免在资源消耗高峰,进行虚拟机动态迁移调整,加剧对资源的消耗,影响平台运行,有利于提高云平台的资源使用率。
[0133]本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
【权利要求】
1.一种云平台资源自适应预警方法,其特征在于,包括: 物理机上布署的节点管理单元按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据,并上报给资源分析预警服务器,所述各种资源消耗数据为物理机与各虚拟机对物理机中各项计算资源的使用数据; 资源分析预警服务器将节点管理单元上报的各种资源消耗数据存储在数据库中; 资源分析预警服务器按照第二预设周期,从数据库中获取当前时刻之前一个预设时间段内所述物理机与所述各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据并存储在所述数据库中; 资源分析预警服务器实时监控所述物理机的运行负载,在当前时刻到达未来某个时刻点时,分析所述物理机在当前时刻的各种资源消耗数据是否超过预警门限值; 响应于所述物理机在当前时刻有一项资源消耗数据超过预警门限值,资源分析预警服务器指示所述节点管理单元实时采集所述各虚拟机在当前时刻的该项资源消耗数据,并分析所述各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I; 响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,资源分析预警服务器根据所述之前预测的各虚拟机在当前时刻的该项资源消耗数据与所述变化率重新预测未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据; 并在预测出的未来各采集点所述物理机的该项资源消耗数据超过预设告警门限值时,资源分析预警服务器进行事件通知。
2.根据权利要求1所述的方法,其特征在于,所述各项计算资源具体包括中央处理单元CPU资源、内存资源、磁盘`输入输出IO资源、网络吞吐量; 所述物理机对各项计算资源中每一项计算资源的使用数据具体为物理机上运行的所有虚拟机对该项计算资源的使用数据、以及所述物理机上用于虚拟出各虚拟机的虚拟化软件应用程序对该项计算资源的使用数据之和。
3.根据权利要求2所述的方法,其特征在于,实时监控所述物理机的运行负载包括: 所述节点管理单元具体根据资源分析预警服务器的采集指令实时采集所述物理机在当前时刻的各种资源消耗数据并上报给所述资源分析预警服务器;所述资源分析预警服务器具体根据所述节点管理单元实时上报的所述物理机在当前时刻的各种资源消耗数据实时监控所述物理机的运行负载;或者 所述节点管理单元按照监控时限定时采集所述各虚拟机的各项资源消耗数据并上报给所述资源分析预警服务器;所述资源分析预警服务器具体根据所述节点管理单元定时上报的所述物理机的各种资源消耗数据实时监控所述物理机的运行负载。
4.根据权利要求1至3任意一项所述的方法,其特征在于,还包括: 在每个预设时间段内连续产生M次事件通知时,将告警级别上升一个等级,其中,M为预设大于I的整数; 在告警级别上升到等级N时,产生严重告警通知,其中,N为预设大于I的整数; 所述资源分析预警服务器向所述节点管理单元下发控制指令,以启动对相应虚拟机的启动、关停或迁移。
5.根据权利要求4所述的方法,其特征在于,所述资源分析预警服务器向所述节点管理单元下发控制指令包括: 所述资源分析预警服务器向统一综合网管系统上报严重告警通知以及重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据; 统一综合网管系统根据所述重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据对不同物理机上的虚拟机进行统一资源调配,并根据调配结果向所述资源分析预警服务器下发调配指令; 所述资源分析预警服务器根据所述调配指令向所述节点管理单元下发控制指令。
6.根据权利要求5所述的方法,其特征在于,所述资源分析预警服务器根据所述调配指令向所述节点管理单元下发控制指令时,还向其它物理机上的节点管理单元下发控制指令,以启动对所述其它物理机上相应虚拟机的启动、关停或迁移。
7.—种云平台资源自适应预警系统,其特征在于,包括各节点管理单元与资源分析预警服务器,每个节点管理单元分别布署于一个物理机上; 所述节点管理单元,用于按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据,并上报给资源分析预警服务器,所述各种资源消耗数据为物理机与各虚拟机对物理机中各项计算资源的使用数据; 所述资源分析预警服务器,用于将节点管理单元上报的各种资源消耗数据存储在数据库中;以及按照第二预设周期,从数据库中获取当前时刻之前一个预设时间段内所述物理机与所述各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据并存储在所述数据库中;以及实时监控所述物理机的运行负载,在当前时刻到达未来某个时刻点时,分析所述物理机在当前时刻的各种资源消耗数据是否超过预警门限值;响应于所述物理机在当前时刻有一项资源消耗数据超过预警门限值,指示所述节点管理单元实时采集`所述各虚拟机在当前时刻的该项资源消耗数据,并分析所述各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I ;响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,根据所述之前预测的各虚拟机在当前时刻的该项资源消耗数据与所述变化率重新预测未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;并在预测出的未来各采集点所述物理机的该项资源消耗数据超过预设告警门限值时,进行事件通知。
8.根据权利要求7所述的系统,其特征在于,所述各项计算资源具体包括中央处理单元CPU资源、内存资源、磁盘输入输出IO资源、网络吞吐量; 所述物理机对各项计算资源中每一项计算资源的使用数据具体为物理机上运行的所有虚拟机对该项计算资源的使用数据、以及所述物理机上用于虚拟出各虚拟机的虚拟化软件应用程序对该项计算资源的使用数据之和。
9.根据权利要求8所述的系统,其特征在于,所述节点管理单元包括控制管理模块与资源采集模块; 所述资源采集模块,用于按照第一预设周期规定的采集点,采集所在物理机与该物理机上运行的各虚拟机的各种资源消耗数据; 所述控制管理模块,用于将所述资源采集模块采集的各种资源消耗数据上报给资源分析预警服务器。
10.根据权利要求7、8或9所述的系统,其特征在于,所述资源分析预警服务器包括数据收集模块、智能分析模块、监控预警模块与数据库; 所述数据收集模块,用于将所述节点管理单元中控制管理模块上报的各种资源消耗数据存储在数据库中; 所述智能分析模块,用于按照第二预设周期,从数据库中获取当前时刻之前一个预设时间段内所述物理机与所述各虚拟机的各种资源消耗数据作为历史数据进行分析,预测未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据并存储在所述数据库中; 所述监控预警模块,用于实时监控所述物理机的运行负载,在当前时刻到达未来某个时刻点时,分析所述物理机在当前时刻的各种资源消耗数据是否超过预警门限值;响应于所述物理机在当前时刻有一项资源消耗数据超过预警门限值,指示所述控制管理模块实时采集所述各虚拟机在当前时刻的该项资源消耗数据,并根据所述控制管理模块上报的该项资源消耗数据,分析所述各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率是否大于I ;响应于各虚拟机在当前时刻的该项资源消耗数据分别相对于之前预测的各虚拟机在当前时刻的该项资源消耗数据的变化率大于1,根据所述之前预测的各虚拟机在当前时刻的该项资源消耗数据与所述变化率重新预测未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;并在预测出的未来各采集点所述物理机的该项资源消耗数据超过预设告警门限值时,进行事件通知; 所述数据库,用于存储所述控制管理模块上报的各种资源消耗数据、以及预测出的未来各采集点所述物理机与所述各虚拟机的各种资源消耗数据。
11.根据权利要求10所述的系统,其特征在于,所述控制管理模块还用于根据资源分析预警服务器的采集指令,指示资源采集模块实时采集所述物理机在当前时刻的各种资源消耗数据并上报给所述监控预警模块;所述监控预警模块实时监控所述物理机的运行负载时,具体根据所述节点管理单元实时上报的所述物理机在当前时刻的各种资源消耗数据实时监控所述物理机的运行负载;或者` 所述控制管理模块还用于按照监控时限,指示资源采集模块定时采集所述各虚拟机的各项资源消耗数据并上报给所述监控预警模块;所述监控预警模块实时监控所述物理机的运行负载时,具体根据所述控制管理模块定时上报的所述物理机的各种资源消耗数据实时监控所述物理机的运行负载。
12.根据权利要求11所述的系统,其特征在于,所述监控预警模块还用于在每个预设时间段内连续产生M次事件通知时,将告警级别上升一个等级,其中,M为预设大于I的整数;并在告警级别上升到等级N时,产生严重告警通知,其中,N为预设大于I的整数;以及响应于产生严重告警通知,向所述控制管理模块下发控制指令,以启动对相应虚拟机的启动、关停或迁移。
13.根据权利要求12所述的系统,其特征在于,还包括统一综合网管系统; 所述监控预警模块,还用于向统一综合网管系统上报严重告警通知以及重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据;以及具体根据所述统一综合网管系统下发的调配指令向所述控制管理模块下发控制指令; 所述统一综合网管系统,用于根据所述重新预测的未来各采集点所述物理机与所述各虚拟机的该项资源消耗数据对不同物理机上的虚拟机进行统一资源调配,并根据调配结果向所述资源分析预警服务器下发调配指令。
14.根据权利要求13所述的系统,其特征在于,所述监控预警模块根据所述调配指令向所述控制管理模块下发控制指令时,还向其它物理机上的节点管理单元中的控制管理模块下发控制 指令,以启动对所述其它物理机上相应虚拟机的启动、关停或迁移。
【文档编号】G06F9/455GK103873498SQ201210531771
【公开日】2014年6月18日 申请日期:2012年12月11日 优先权日:2012年12月11日
【发明者】陆浩, 王福荣, 王丽清, 胡华伟, 吴子特 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1