云环境下虚拟机异常行为检测系统和方法转让专利

申请号 : CN201811220325.5

文献号 : CN109471698B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周英陈健刘晓浩周林鹏郭婷婷崔隽朱建勋

申请人 : 中电莱斯信息系统有限公司

摘要 :

本发明公开了云环境下虚拟机异常行为检测系统和方法,检测系统包括物理服务器集群、模型训练服务器和若干个异常检测节点服务器;物理服务器集群包括若干个物理服务器,每个物理服务器上设有至少一个虚拟机服务器,物理服务器之间按照一定的方式连接构成局域网系统;模拟训练服务器分别与物理服务器集群以及异常检测节点服务器相连,若干个物理服务器对应一个异常检测节点服务器并与之相连。检测方法包括模型的离线训练阶段和在线异常检测阶段。采用本发明进行虚拟机异常检测,无需假设数据的概率分布与依赖关系,能够实现在线异常检测,并改进虚拟机异常检测的准确率。

权利要求 :

1.一种云环境下虚拟机异常行为检测系统的检测方法,其特征在于:该检测系统包括物理服务器集群、模型训练服务器和若干个异常检测节点服务器;物理服务器集群包括若干个物理服务器,每个物理服务器上设有至少一个虚拟机服务器,物理服务器之间构成局域网系统;模拟训练服务器分别与物理服务器集群以及异常检测节点服务器相连,若干个物理服务器对应一个异常检测节点服务器并与之相连;模型训练服务器用于对虚拟机服务器历史数据进行深层网络训练,并向异常检测节点服务器发送数据训练得到的模型,异常检测节点服务器用于采集和分析虚拟机服务器的实时数据,检测虚拟机的异常行为;

所述检测方法,包括以下步骤:

(1)以固定的时间间隔采集虚拟机的各项指标,构造虚拟机正常状态时的数据向量;将虚拟机正常状态时的数据向量输入到模拟训练服务器上的稀疏自动编码器网络,并利用该数据向量对稀疏自动编码器和长短期记忆网络进行训练,建立稀疏自动编码器模型和长短期记忆网络模型;

(2)持久化保存稀疏自动编码器模型和长短期记忆网络模型,并将稀疏自动编码器模型和长短期记忆网络模型部署到各异常检测节点服务器上;

(3)异常检测节点服务器将实时采集的虚拟机数据输入稀疏自动编码器网络模型,对输入的数据降维后输出数据向量vt;

(4)构建向量序列,输入长短期记忆网络模型,该模型输出预测向量序列,计算两者的异常因子,异常因子 计算公式为其中,v′k为预测向量序列中的元素,vk为向量序列中的元素,||v′k-vk||为预测误差的L2范数,α为衰减因子;

(5)如果预测误差大于预设的门限值,即 则判断虚拟机当前进入警告状态,异常检测节点服务器发出报警。

2.根据权利要求1所述的云环境下虚拟机异常行为检测系统的检测方法,其特征在于:所述的虚拟机服务器上安装有用于数据采集的代理程序。

3.根据权利要求1所述的云环境下虚拟机异常行为检测系统的检测方法,其特征在于:所述的异常检测节点服务器包括一个全局检测节点服务器和多个局部检测节点服务器,全局检测节点服务器与局部检测节点服务器相连,形成层级结构。

4.根据权利要求1所述的云环境下虚拟机异常行为检测系统的检测方法,其特征在于:所述的步骤(1)包括以下过程:

(41)以固定的时间间隔采集虚拟机的各项指标,构造虚拟机正常状态时的数据向量;

(42)将虚拟机正常状态时的数据向量输入到模拟训练服务器上的稀疏自动编码器网络,使用随机梯度优化方法逐层训练稀疏自动编码器网络,使其重构误差达到最小,得到稀疏自动编码器网络模型;

(43)通过稀疏自动编码器网络对输入的数据向量进行重新编码,通过非线性变换将数据降维,输出降维后的数据vt;

(44)将数据vt通过滑动时间窗口创建长度为l的向量序列,以固定时间间隔采集的一系列虚拟机数据组合成向量序列集合V;

(45)将向量序列∈V输入长短期记忆网络,采用新增数据增量方法训练该网络预测各个vt,直到重构误差达到最小,形成长短期记忆网络模型。

5.根据权利要求1所述的云环境下虚拟机异常行为检测系统的检测方法,其特征在于:所述的长短期记忆网络输出门的激活函数使用sigmoid,其他门的激活函数使用tanh函数,使用新增数据增量训练长短期记忆网络;所述稀疏自动编码器网络的激活函数为sigmoid,以最后一层隐藏层的编码结果作为向量融合后的编码。

6.根据权利要求1所述的云环境下虚拟机异常行为检测系统的检测方法,其特征在于:所采集的数据包括采集虚拟机的环境配置数据、CPU运行指标、内存运行指标、I/O指标和网络流量。

说明书 :

云环境下虚拟机异常行为检测系统和方法

技术领域

[0001] 本发明涉及一种云平台中虚拟机管理技术,尤其涉及一种虚拟机异常行为的检测。

背景技术

[0002] 云计算通过虚拟化技术,可将数千台硬件服务器整合到共享资源池,按需配置虚拟机的计算资源。一个云平台可管理数万台虚拟机。及时准确地发现虚拟机运行中发生的异常与故障,是虚拟机管理中的一项重要任务。
[0003] 传统的异常检测方法,主要可以分为两大类,有监督方法和无监督方法。当前面临的主要困难包括,海量的无标签高维监测数据,数据的时序性等。对于有监督方法,例如分类法,虽然可以在线采集到足够的虚拟机数据,但缺乏足够的标记正常与异常的训练数据,实施中难以训练得到理想的分类器,特别是,虚拟机异常数据属于不平衡数据,绝大多数训练数据都是正常数据,导致分类器很难正确识别少数异常数据,分类准确率低。对于无监督方法,例如统计分析方法和聚类法,因为海量的虚拟机监控数据不断更新,导致原来假设的概率分布参数变化,难以增量更新;对于聚类法,当样本数据较大时,难以实现在线快速检测。
[0004] 监测数据的时序性增加了问题的难度和复杂性。考虑一定时间区间的虚拟机上下文指标变化,有利于改善检测方法的准确率。传统的基于统计的方法,例如CUSUM方法,通过累积单一属性值序列的变化,根据预设的门限值判断是否异常,不能同时处理多种属性综合表现出的时序异常现象。一般采用Markov模型或隐马尔科夫模型对其进行时序建模,但是这类模型假设当前状态只依赖于前一时间点的状态,当实际问题不满足这一假设时,特别是多种属性综合考虑时,存在较长时间的依赖关系,使得这类模型难以取得令人满意的效果。
[0005] 基于监测数据的无标签性和时序性的特点,需要有效的无监督在线检测方法,可以发现在一定时间区间内的虚拟机异常行为。

发明内容

[0006] 发明目的:针对以上问题,本发明提出一种云环境下虚拟机异常检测方法,实现对虚拟机异常的在线快速检测,提高虚拟机异常检测的效率和准确率。
[0007] 技术方案:本发明所采用的技术方案是一种云环境下虚拟机异常行为检测系统,该系统包括物理服务器集群、模型训练服务器和若干个异常检测节点服务器。其中,物理服务器集群包括若干个物理服务器,物理服务器之间按照一定的方式连接构成局域网系统。每个物理服务器上设有至少一个虚拟机服务器,虚拟机服务器上安装有用于数据采集的代理程序。模拟训练服务器分别与物理服务器集群以及异常检测节点服务器相连,若干个物理服务器对应一个异常检测节点服务器并与之相连。异常检测节点服务器包括一个全局检测节点服务器和多个局部检测节点服务器,全局检测节点服务器与局部检测节点服务器相连,形成层级结构。
[0008] 模型训练服务器用于对虚拟机服务器历史数据进行深层网络训练,并向异常检测节点服务器发送数据训练得到的模型,异常检测节点服务器用于采集和分析虚拟机服务器的实时数据,检测虚拟机的异常行为。
[0009] 使用本发明所述的云环境下虚拟机异常行为检测系统进行虚拟机异常行为的检测,包括以下步骤,
[0010] (1)以固定的时间间隔采集虚拟机的各项指标,构造虚拟机正常状态时的数据向量;将虚拟机正常状态时的数据向量输入到模拟训练服务器上的稀疏自动编码器网络,并利用该数据向量对稀疏自动编码器和长短期记忆网络进行训练,建立稀疏自动编码器模型和长短期记忆网络模型;
[0011] (2)持久化保存稀疏自动编码器模型和长短期记忆网络模型,并将稀疏自动编码器模型和长短期记忆网络模型部署到各异常检测节点服务器上;
[0012] (3)异常检测节点服务器将实时采集的虚拟机数据输入稀疏自动编码器网络模型,对输入的数据降维后输出数据向量vt;
[0013] (4)构建向量序列,输入长短期记忆网络模型,该模型输出预测向量序列,计算两者的异常因子,异常因子 计算公式为其中,v′k为预测向量序列中的元素,vk为向量序列中的元素,||v′k-vk||为预测误差的L2范数,α为衰减因子;
[0014] (5)如果预测误差大于预设的门限值,即 则判断虚拟机当前进入警告状态,异常检测节点服务器发出报警。
[0015] 其中步骤1为检测模型的离线训练阶段,包括以下步骤:
[0016] (41)以固定的时间间隔采集虚拟机的各项指标,构造虚拟机正常状态时的数据向量;
[0017] (42)将虚拟机正常状态时的数据向量输入到模拟训练服务器上的稀疏自动编码器网络,使用随机梯度优化方法逐层训练稀疏自动编码器网络,使其重构误差达到最小,得到稀疏自动编码器网络模型;
[0018] (43)利用稀疏自动编码器网络,对输入的数据向量进行重新编码,通过非线性变换将数据降维,稀疏自动编码器网络输出降维后的数据vt;
[0019] (44)将数据vt通过滑动时间窗口创建长度为l的向量序列,以固定时间间隔采集的一系列虚拟机数据组合成向量序列集合V;
[0020] (45)将向量序列∈V输入长短期记忆网络,采用新增数据增量方法训练该网络预测各个vt,直到重构误差达到最小,形成长短期记忆网络模型。
[0021] 优选的,所述的长短期记忆网络输出门的激活函数使用sigmoid,其他门的激活函数使用tanh函数,使用新增数据增量训练长短期记忆网络。所述稀疏自动编码器网络的激活函数为sigmoid,以最后一层隐藏层的编码结果作为向量融合后的编码。
[0022] 有益效果:本发明克服了现有虚拟机异常检测方案难以对虚拟机监测数据时序建模的困难,可在线实时的检测虚拟机的异常行为。本发明利用深层网络技术实现多属性高维特征数据的融合与降维,采用无监督方法建立长时间依赖关系的时序预测模型,无需假设数据的概率分布与依赖关系;进而实现在线异常检测,并改进虚拟机异常检测的准确率。

附图说明

[0023] 图1是检测模型的离线训练流程图;
[0024] 图2是在线异常检测流程图。

具体实施方式

[0025] 下面结合附图对本发明的技术方案作进一步的说明。
[0026] 云环境下虚拟机异常行为检测系统,该系统包括物理服务器集群、模型训练服务器和若干个异常检测节点服务器。其中,物理服务器集群包括若干个物理服务器,物理服务器之间按照一定的方式连接构成局域网系统。每个物理服务器上设有至少一个虚拟机服务器,虚拟机服务器上安装有用于数据采集的代理程序。模拟训练服务器分别与物理服务器集群以及异常检测节点服务器相连,若干个物理服务器对应一个异常检测节点服务器并与之相连。
[0027] 异常检测节点服务器包括一个全局检测节点服务器和局部检测节点服务器,全局检测节点服务器与多个局部检测节点服务器相连,形成层级结构。按照层级化结构部署,全局结点负责分配计算负载,不负责实际计算,通过全局节点将检测计算分布到各个局部节点,降低全局节点的计算负载,减少网络中监测数据的传输负载,提高在线检测的响应性能。
[0028] 因深层网络的训练对硬件性能要求较高,故模型训练服务器的CPU应达到24核,应配置GPU和32GB以上内存,以便可以在可接受的时间内完成模型训练。模型一旦训练完成,将模型分发到各异常检测节点。在线检测的节点服务器,无需较高配置。
[0029] 利用上述虚拟机异常行为检测系统对虚拟机进行异常行为检测,其具体过程包括检测模型的离线训练阶段和在线异常检测阶段。
[0030] 如图1是检测模型的离线训练阶段的流程图,包括以下过程:
[0031] 首先,离线训练一个稀疏自动编码器网络,用于非线性地融合多种属性,对数据进行降维。包括以下步骤:
[0032] (51)按照固定时间间隔,采集虚拟机的环境配置数据、CPU运行指标、内存运行指标、I/O指标和网络流量。将各指标数据做log变换,构造各时间点的数据向量。构造训练模型用的虚拟机正常状态数据。
[0033] (52)将各个时间点采集到的虚拟机指标数据输入含2个隐藏层的稀疏自动编码器网络,无监督地使用随机梯度优化方法逐层训练该网络,使其重构误差达到最小。
[0034] (53)利用稀疏自动编码器网络,对输入的数据向量进行重新编码,通过非线性变换将数据降维,稀疏自动编码器网络输出降维后的数据vt;激活函数为sigmoid,以最后一层隐藏层的编码结果作为向量融合后的编码。
[0035] (54)将数据vt通过滑动时间窗口创建长度为l的向量序列,以固定时间间隔采集的一系列虚拟机数据组合成向量序列集合V;
[0036] (55)将向量序列∈V输入长短期记忆(LSTM)网络,采用新增数据增量方法训练该网络预测各个vt,直到重构误差达到最小,形成长短期记忆网络模型;LSTM输出门的激活函数使用sigmoid,其他门的激活函数使用tanh函数。此步骤需耗费大量计算时间,需要服务器支持和配置GPU。
[0037] 优化网格参数,用网格法,调整序列长度l和异常因子阈值,获得最佳参数设置。
[0038] 离线训练阶段结束后,持久化保存稀疏自动编码器模型和LSTM模型,并将模型部署到各异常检测节点服务器上。
[0039] 如图2为在线异常检测阶段的流程图,其过程如下:
[0040] (1)异常检测节点服务器将实时采集的虚拟机数据输入训练好的稀疏自动编码器网络模型,稀疏自动编码器网络模型对输入的数据降维后输出数据向量vt;
[0041] (2)滑动时间窗口,构建向量序列,输入LSTM网络模型,该模型输出预测向量序列,计算两者的异常因子,异常因子 计算公式为其中,v′k为预测向量序列中的元素,vk为向量序列中的元素,||v′k-vk||为预测误差的L2范数,α为衰减因子,αl-k表示时间间隔越久,其预测误差在整个累积预测误差中占比越小;
[0042] (3)如果预测误差大于预设的门限值,即 则判断虚拟机当前进入警告状态,异常检测节点服务器发出报警。若正常则继续检查下一个时间点的数据。