一种基于故障预测的云计算系统自适应监测方法

文档序号:9910905阅读:835来源:国知局
一种基于故障预测的云计算系统自适应监测方法
【技术领域】
[0001] 本发明涉及云计算系统的监测方法,尤其涉及一种基于云计算系统异常程度评估 的监测周期动态调整方法,属于软件技术领域。
【背景技术】
[0002] 云计算系统规模巨大、结构复杂,监测系统需要从众多节点上收集多个层次(如, 网络层、硬件层、虚拟机层、操作系统层、中间件层、应用软件层)各种资源的监测数据,以持 续跟踪云计算系统的运行状态。然而,收集与处理大量监测数据将会带来巨大资源开销,从 而影响系统性能。因此,商业监测系统只支持固定的监测周期(如,每分钟进行一次数据收 集),例如亚马逊的CloudWatch(https ://aws .amazon· com/cloudwatch/)、IBM的Tivoli、开 源监测系统Zabbix(http://www.zabbix.com/)、Ganglia(http:// ganglia, sourceforge.net/)。另外,从用户角度考虑,云监测服务的用户需要支付的费用 与监测的频率成正比,而监测花费占到了总运行成本的18%。这样就造成了,一方面,管理 员和用户希望降低监测频率(即,单位时间内的监测次数)以减少开销和降低成本。另一方 面,错误可能在连续监测的时间间隔内发生,低监测频率减少了定位问题的可用监测数据 量,从而降低了检出问题的可能性和及时性。
[0003] 云计算系统故障预测方法通常可以分为基于规则和异常检测等两类。基于规则的 方法根据历史错误所表现的现象来定义错误出现时可辨别的特征,而后将观察到的现象与 已定义的错误特征进行匹配。当匹配成功则检测为错误,发出警报;否则认为系统运行正常 (Chen H,Jiang G,Yoshihira K,Saxena A.Invariants based failure diagnosis in distributed computing systems//Proceedings of the 29th IEEE Symposium on Reliable Distributed Systems · India, 2010:160-166)。基于规则的方法由于事先已知错 误及其表现,具有较高的准确性和及时性。然而,当错误此前未曾出现,或者错误表现难以 刻画为规则,基于规则的方法就不能够识别,因此该方法虽然查准率高,但查全率却较低。 同时云环境下应用类型多样、系统层次众多,大量度量需要监测分析,系统管理员难以根据 经验人工制定规则。
[0004] 另一方面,基于异常检测的方法为目标系统建立模型作为基准,将系统行为与基 准进行对比。根据对系统内部结构的了解程度,以及监测分析对象的不同,基于异常检测的 方法可以分为度量、行为、日志分析等方法。
[0005] 基于度量分析的方法,不需要了解系统内部结构,通过调用操作系统提供的接口 收集监测数据,适用范围广(Wang T,Zhang W,Wei.J,Zhong H.Workload-aware online anomaly detection in enterprise applications with local outlier factor// Proceedings of the IEEE 36th Annual Computer Software and Applications Conference. Izmir,Turkey,2012:25-34.)。其优势在于,无需事先知道错误类型并描述其 特征。然而由于网络环境的动态性与复杂性,建立具有鲁棒性和普适性的基准相当困难,基 于异常检测的方法通常具有较高的误报率。同时难以在代码层细粒度检测问题。基于行为 分析的方法,通过代码注入等方式收集各组件行为,能够将错误定位到组件或代码片段 (Sambasivan R,Zheng ΑΧ,Rosa MD,Krevat E,Whitman S,Stroucken M.Diagnosing performance changes by comparing request flows//Proceedings of the 8th USENIX conference on Networked systems design and implementation.Boston,MA,2011:4-17.)。但需要了解应用的内部结构,且细粒度监测开销较高。同时由于不同的应用的处理逻 辑不同,需要注入不同的监测点,适应性较差。基于日志分析的方法,通过分析日志信息可 以了解一部分系统执行路径(Fu Q,Lou JG,Wang Y,Li J.Execution anomaly detection in distributed systems through unstructured log analysis//Proceedings of the 9th IEEE International Conference on Data Mining.Miami ,FL,2009:149-158.) 〇错误 预测与检测的准确性取决于日志记录的数量和位置。同时由于需要收集大量的日志文件, 从中抽取固定的模式,难以满足在线错误检测的需求。

【发明内容】

[0006] 本发明的目的是在保障错误检测及时性和准确性的前提下,如何通过动态调整监 测周期以降低系统的监测开销。监测周期是影响系统监测开销与检测准确性的关键,因此 本发明根据系统出现错误的可能性适应性动态调整监测周期。
[0007] 本发明技术解决方案:一种基于故障预测的云计算系统自适应监测方法,其特点 在于实现步骤如下:
[0008] 第一步,监测数据收集;建立滑动窗口的长度为η,收集多度量监测数据为X= (X1, 12,一,&),其中,每次收集的监测数据包括111个度量(运维人员可以根据需要设定 111值,111为正 整数),Xl为第i个度量的值,将监测数据按时间先后顺序存入滑动窗口,将滑动窗口中的监 测数据组成η行m列矩阵A?;
[0009] 第二步,异常程度评估,具体包括以下步骤:
[0010] (1)将Anm的每一列的数值进行标准化处理,使第j列的数值的集合的均值μ」=0,方 差σ j = 1,第i行第j列的数据标准化为z i j = ( X i j - μ j ) / σ j。求出协方差矩阵:
..计算协方差矩阵Σα的特征向量U; :> I- ._1 .,
[0011] (2)新的监测数据Xt到来时,为了放大离群点对主方向改变的影响,将样本复制nr 次,其中re[0,l ]是当前样本的复制次数与当前样本大小的比例,得到更新矩阵: A = A'j{x"xt,....., ^ h更新矩阵均值和协方差矩阵

;计算当前监测数据的特征向量:
[0012] (3)使用余弦相似度来计算由步骤⑵得到的原特征向量与由步骤⑶得到的当前 特征向量的偏差,以描述当前收集到的监测数据的异常程度:
[0013] 第三步,监测周期调整。根据由第二步得到的异常程度,调整监测周期为:
其中,Ta、Te为运维人员根据经验设定的被监测系统的最 大、最小监测周期,α、β为运维人员根据经验设定的被监测系统的最小、最大错误概率,λ为 运维人员根据经验设定的被监测系统的出现故障的频率。
[0014] 本发明的原理:采用主成分分析技术计算监测数据的特征向量以刻画系统运行状 态,通过计算当前与历史监测数据的特征向量的偏差来评估系统异常程度。当被监测系统 异常程度较高时,缩短监测周期以密切跟踪被监测系统运行状态,从而提高错误预测与检 测的准确性和及时性。反之,当被监测系统异常程度较低时,延长监测周期,从而降低监测 开销。由于在整个系统运行过程中,错误出现的概率相对较少,动态调整监测周期可以减少 大量监测开销。
[0015] ⑴基于PCA的异常评估
[0016] 主成分分析(Principal Component Analysis,PCA),是将m个相关变量通过线性 变换形成一组较少个数k(k〈m)的无关成分的多元统计分析方法,这k个成分能够表达m个变 量所要表达的信息,因而常用来进行高维数据降维。利用PCA可以将多个监测度量抽象为少 数几个主成分形成特征向量,将其作为数据分布的方向。如果新监测数据为异常点,则加入 该点后特征向量会变化,数据分布方向也会发生偏离,可以根据数据分布方向的偏离程度 来衡量当前监测数据的异常程度。
[0017] 所提出方法的具体步骤:
[0018] 建立滑动窗口其长度为η,收集到多度量监测数据X= (xi,X2,…,Xm),其中,Xi为第 i个度量,度量数量为m。将监测数据按时间先后顺序存入滑动窗口,将滑动窗口中的监测数 据组成η行m列矩阵A?;
[0019] 1)将Anm的每一列的监测度量值进行标准化处理,使其均值为0,方差为1,Zi = (Xi-yi) /〇i,其中,yi为第i列数据集合的均值,〇i为第i列数据集合的标准差。
[0020] 2)求出协方差矩芦其中,Xi和Xj的协方差, ',表
9 现两个变量的相关性。
[0021] 3)计算Σ a的特征向量,作为数据分布的主方向u。
[0022] 4)新的监测数据Xt到来时,为了放大离群点对主方向改变的影响,将样本复制nr 次,其中re[0,l ]是当前样本的复制次数与当前样本大小的比例,得到更新矩阵: Λ. ~ jL k^j ,.〇
[0023] 5)更新矩阵平均值和协方差矩阵
-。更 新特征向量主方向
需要记录上
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1