摘 要:基于云计算平台的服务项目中非常重要的一块就是监控,因此研究基于云计算平台的监控系统有很重要的意义。文章针对监控系统实时处理数据滞后的弊端,设计了依据监控历史数据进行研究的预测模型,用来预测系统将来会发生的异常行为,进而提前采取防范措施,以保证系统的正常运行。
关键词:云计算平台;监测;控制;预测模型
中图分类号:TP311 文献标识码:A
1 引言(Introduction)
云计算平台监控系统预测是根据监控系统的已有数据资料预测将来会发生的行为。预测研究总体上分为三步:第一步研究基于云计算平台的监控资料数据性质,以此为依据来建立数据模型;第二步给数据预测模型分类,并为各模型设计实现算法及机制;第三步对预测模型的动态适应性进行研究,评估预测模型,检验各模型算法的准确度[1]。
2 数据模型设计(The design of data model)
建立预测模型,就要给监控的历史数据构建模型,监控历史数据可以抽象为有序数据集。有序数据集用()
表示,数据集的起始时间用表示,结束时间用表示,,为监控性能数据,为发生时间。为有序,时,。例如监控一个服务器上硬盘的使用情况,隔5分钟采集1次数据,那么1小时收集的历史数据集为,是时间时硬盘的使用量。也可以用几个性能参数的集合加以抽象,表示在时间时的硬盘使用量,表示在时间时的CpU使用量,表示在时间时的内存使用量[2]。
3 数据模型分类(The classification of data model)
基于云计算平台建立监控预测模型,一要参考预测的数据类型,二要参考预测的时间范围。预测的数据类型可能是连续的数值型,也可能是离散的布尔型。数据可以按周期采集,也可以按瞬时事件触发式采集,可以预测多个方面,比如硬盘使用、内存使用、一个时间段中网络节点的状态、Web服务每秒的Http请求数等。预测的时间范围也就是适合预测模型的预测时间长度,有短期和长期两种。具体分类参考表1。
表1 模型参考
Tab.1 The model reference
项目 长期预测 短期预测
数值型数据 趋势和季节性分析 静态模型的时间序列分析
布尔型数据 故障周期性分析模型 数据挖掘
依据以上参考预测模型以及基于云计算平台监控数据的特性和预测需求,预测模型可分为三类:
(1)性能数据长期预测模型,通常用回归算法长期预测性能参数。
(2)阈值越界预测模型。
(3)系统事件预测模型,一般利用数据挖掘技术寻找经常出现的系统故障。
3.1 性能数据长期预测模型
数值型的性能数据长期预测模型,可用于预测如内存使用、响应时间、CPU使用、最大响应时间、磁盘使用等性能参数。对各种性能数据的预测是为了掌握系统设备未来的需求,以确保提供通畅、快速的网络服务。这种模型重点研究时间序列的动态部分,一般采用外推法建立模型,用超前外推K步法预测一般走势。
(1)外推算法
外推预测算法用方程()表示,其中,和为常量,表示零平均数的随机变量。用方程映射关系来预测的值,当数据达到预设的容量时就警告。
(2)超前K步分析法
超前K步分析预测算法的优点很多,与传统算法相比,准确率更高。相似结构的计算机性能也相似,收集监控数据的服务器越多,预测模型越准确。
超前K步分析法通过分析监控数据在时间与时间时的映射关系来预测,映射关系可用表示。根据采集的历史监控数据建立时间跨度为的数据集,通过研究数据集的映射关系构造一种预测模型,预测第步的性能参数,来自历史数据集。此算法不限定具体形式为函数,可以是以为参数的线性函数、神经网络、决策树,能从状态映射到状态就可以[3]。
3.2 阈值越界预测模型
基于云计算平台的监控系统预测系统发生的故障是通过为监测的性能数据设定阈值来实现。一旦监测到某项系统性能参数值超出了阈值,就要引发系统警报。
(1)处理预测干扰因素
第一步,把一天当中偏移平均值 较大的性能参数样本消除掉,消除方程为,为一天内按固定间隔第次采集的性能数据值,为第个周期采集的性能数据偏移平均数的偏移量,为噪音。
第二步,把一周中偏移平均值较大的性能参数样本消除掉。消除方程为,其中表示一周中第天的偏移量,且。
第三步,把一个月中偏移平均值较大的性能参数样本消除,消除方程为,其中表示一年中某月的偏移量,且。
通过以上过滤,每天、每周、每月的偏移平均值较大的性能参数样本都已消除。
最后,消除时间序列的依赖性,用参数为的方程表示时间,建立一个二阶非线性自回归模型,用方程表示,和是用标准的算法由数据估测出来的模型参数,表示独立恒等分布的随机变量。
(2)查找异常行为
消除干扰因素后,接下来依据剩余的监控数据,检测系统偏离平均值的异常行为。参考方程,参照时间窗口中的偏移量为,时间长度为,检验时间窗口的时间长度为。
3.3 系统事件预测模型
云计算平台监控系统从历史监控数据中往往可以在短期内挖掘出许多系统事件,进而用数据分析法提取短期预测模型,用来预测系统短期内可能出现的异常事件。这种系统事件预测模型是以先前事件为基础预测目标事件。具体分三步操作:
(1)挖掘频繁事件集
在目标事件之前的时间窗口W内频繁发生的事件称作频繁事件集。要构建系统事件预测模型,首先就要挖掘频繁事件集。假设有一个单独目标事件,在发生之前时间窗口W内的频繁事件集引发了的发生,假如发生之前在时间窗口W中有四个事件发生,时间窗口W内的频繁事件集可以用事件事务T表示,T由四个事件组成,表示为T=。所有事件事务都这样表述,最后生成事件事务集合D。算法分三步:
①假设将来发生的目标事件都会沿着T中的顺序事件发生,随着时间的推移,算法在 时间段内的事件中记录。
②随着时间的推移,依次判断当前事件是否是先前事件引发的目标事件。若是,就把最近发生在时间窗口W内的事件集生成一个事务,放进事务集合D中。
③用关联规则找到容量最大的超前事件集。
值得强调的是,事件发生的顺序和每个时间窗口的时间间隔没有关系,连续目标事件发生的时间窗口前后可以重叠,这样处理在间隔波动很大时用处很大。
(2)验证超前事件集
在一台服务器死机前会发生CPU使用量偏高、低响应事件,这种事件就为超前事件。假设在目标事件发生之前频繁发生的超前事件集为Z,Z用一种模型表示。判断Z发生的时间段,若Z只是在目标事件之前的时间窗口内发生,则Z就与目标事件关联。否则,就不能关联。
操作方法如下:
首先把低于最小置信度的超前事件都去掉。置信度用条件概率表示,用于计算超前事件以及事件模式的置信度。假设发生在时间窗口W内,目标事件发生前的超前事件集用D表示,不是目标事件前发生的事件集用表示。设D中事务的数量用表示,中事务的数量用表示,则Z中事务数量为,置信度用方程Confidence=表述。
由于置信度不检查负关联性,就需要再增加一个验证超前事件Z的步骤。验证函数用方程表述。为Z在D中发生的概率,为Z在中发生的概率,如果排斥空假设 的置信度很高,就验证了Z。若事件很多,设事件满足高斯分布,采用对立假设,通过方程表述。设和的概率差距为,标准偏差为,时,舍弃,当正确时,概率应当为。如果Z与目标事件发生有关联,值较小。
(3)寻找规则
寻找规则需用规则系统法,如果可用的超前事件有很多,目标事件很少,那么不是每个关联都能符合规则。规则系统的预测模型用验证过的关联模式来构建,预测算法根据置信度对超前事件集分类,算法分两步:第一步,寻找置信度最高的超前事件,把包含的超前事件删除。例如包含于,则保留,清除。这样就有了目标事件的规则。第二步,在余下的超前事件集合里找到超前事件,重复第一步,以此类推,到剩余超前事件集合为空结束。
4 预测模型的动态适应性(The dynamic adaptability
of prediction model)
基于云计算平台的预测模型可以采用许多种算法,往往较难判断哪一种算法预测更准确。某一种算法对于一种监控数据而言在一段时间内可能较适用,但随着时间的推移、监控数据行为的改变,另一种算法可能更适用。所以正确的做法是不要提前选择某种算法,而是用预测模型可采用的各种算法同时预测监控数据,再用错误率方程来评价各种算法的动态适应性。最后选择在时间时适应性最好的算法来预测时的行为。具体做法为:
(l)用方程表示算法,为时间时的值,为收集到的历史信息,为算法,表示算法预测到的在时间时的值。
(2)在某一时间用预测模型的各种算法推导出在时间时相应的预测值,再在时间时采集系统准确的采样值,准确采样值与预测值的差为预测错误,方程为。预测错误均方差用方程表述。预测平均错误率用方
程表述。
(3)探究算法在时间时的适应度,若是时间时该模型所有算法中的最小值,适应度就用表述。若是时间时该模型所有算法中的最小值,则适应度用表述。
5 结论(Conclusion)
该云计算平台监控系统预测模型,依据监控历史数据,预测系统将来会发生的异常行为,进而提前采取防范措施,能解决监控系统实时处理数据滞后的问题,以保证系统的正常运行,对基于云计算平台的监控服务项目有很高的参考价值。
参考文献(References)
[1] 陈康,郑纬民.云计算:系统实例与研究现状[J].软件学报,2009, 20(5):13-15.
[2] 董波,沈青,肖德宝.云计算集群服务器系统监控方法的研究 [J].计算机工程与科学,2012(10):68-72.
[3] 刘莉,屈志坚.基于GridGain云计算平台的监控管理信息分解 聚合研究[J].计算机测量与控制,2012(12):3235-3238.
作者简介:
徐桂枝(1970-),女,硕士,副教授.研究领域:计算机应用.