基于神经网络的数据中心故障预测方法的研究

2019-07-01 02:35李鹏园黄进冯涛
智能计算机与应用 2019年3期
关键词:神经网络数据中心

李鹏园 黄进 冯涛

摘 要:数据中心作为信息化社会的IT基础设施,存储管理大量关键数据,发挥着越来越重要的作用,因此如何实现数据中心机房的智能化管理越来越得到业内广泛重视。提出一种基于神经网络的数据中心故障预测方法,根据已有的机房设备日志数据,提取出关键的设备性能指标作为训练特征,输入神经网络训练模型,得到的模型可以根据所提供的设备数据预测出当前设备运行状态。

关键词: 数据中心;神经网络;故障预测;TensorFlow;机房设备

文章编号: 2095-2163(2019)03-0184-04 中图分类号: TP393.06 文献标志码: A

0 引 言

随着现代科技的迅猛发展,为适应数据中心长期稳定运营的实际需要,实现智能化管理已是大势所趋。以前,大多是依靠经验丰富的专业运维人员通过计算机自动化来监管机房设备各项指标,运维人员每天需对设备做出多次重复检查,这一工作不仅耗时,而且繁琐。已有研究成果表明,若能结合深度学习、人工智能技术对数据中心进行智能化管理,将可有效提高数据中心的智能化运维水平,而其中涉及的数据中心智能预警的分析设计也就随即成为与智能化管理研究密切相关的基础重要内容。

目前,国内外已有相当数量的专家学者针对数据中心机房设备故障诊断方面展开了一些研究,取得了一定进展。这些研究主要是利用机器学习的方法进行故障预测,而基于深度学习的同类研发技术应用却才是刚刚起步。文献[1]采用nProbe工具对数据中心大规模网络进行被动测量,该方法结合历史数据得到正常连接率、吞吐率、设备响应时间的偏离度,能够在一定程度上反映设备的性能好坏,但是作为评估参数的TCPflags在TCP连接超时后,发生TCP重传,从而提高TCP连接的比率,可能会造成评估值增大,影响性能评估效果,无法如实反映设备技术性能;文献[2]主要分析了不同事件与网络设备性能之间的关联,考虑的影响因素较多,由于网络设备各个性能指标之间存在着较为复杂的关系,若仅是考虑某一种因素的作用影响,并不能科学准确地判断设备性能,同时还会增加系统复杂度;利用深度学习神经网络,通过向神经网络中输入数据,设置参数进行训练,可以综合分析设备状态和性能。

1 模型的研究与设计

数据中心机房设备类型众多,且引发故障的原因也错综复杂。本文选取了较为常见的机房故障类型展开故障预测方法的研究。

深度学习神经网络在分类预测方面表现出较好的性能,采用TensorFlow搭建神经网络模型,将采集到的机房日志经过数据归一化处理,提取特征,送入神经网络训练模型,实现利用设备运行日志数据预测出设备可能发生的状态。

1.1 特征数据预处理

服务器、交换机、路由器是数据中心机房的重要基础设施,而对应设备的性能优劣将直接影响数据中心网络的运行效率。网络设备的性能参数主要包括CPU利用率、内存利用率以及设备响应时间等,这些参数能够反映出网络的运行状态。

因此,研究在采集机房设备日志数据时,选取上述能够反映设备性能的关键指标参数,主要包含:CPU使用率、内存利用率、设备响应时间、接收IP报文速率、设备当前时间,利用所選取的各项指标数据就可综合评价设备状态。

由于采集到的日志数据存在无效数据以及冗余数据,因此需要对采集到的原始数据进行预处理加工,处理流程如图1所示。按照采集时样本数据当前对应的设备状态,分类标注“正常”和“故障”数据,得到训练集和测试集数据,并保存为.csv格式。

本文基于四川省自然资源厅数据中心机房设备数据进行测试和验证,在研究中利用主动轮询的方式,按照预先选取的性能指标采集数据中心设备性能参数数据。总共整理了20 000条样本数据作为数据集。

如前所述,数据中心机房设备类型众多,造成机房设备性能故障的原因较为复杂,这里选取了较为典型的机房设备故障类型作为故障样本数据集数据,详见表1。表1中包含了设备正常状态下、由于CPU利用率过高以及内存利用率过高导致设备出现故障的部分数据。此外,数据集中还包含了设备响应时间过长、传输报文速率过低等引起的设备故障。

不同的特征往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要再次进行数据标准化处理。在此过程后,各指标处于同一数量级,适合进行综合对比评价。研究中,采用Z-score均方差的方法将数据做到归一化处理。研究推得数学公式可表示为:

其中 xi表示样本数据;μ表示总体平均值;δ表示总体标准差。

归一化处理后的数据符合均值为0,方差为1的正态分布曲线,经过归一化处理后的各数据指标处于同一数量级,适于后续的综合对比评价研究。

1.2 神经网络模型的设计

神经网络在分类预测方面表现出良好的性能,神经网络模型结构在整体上包含3层:输入层、隐藏层、输出层,通过全连接的方法,可将多个隐藏层连接起来,从而扩充神经网络模型的深度来解决较为复杂的问题。由于数据中心机房设备性能数据关系复杂,通常为非线性关系,本文搭建多层神经网络来进行故障预测。 对此可做研究阐述如下。

1.2.1 模型结构

在实验中,利用TensorFlow框架搭建了一个简单的神经网络模型用于故障训练和预测,模型结构设计如图2所示。该结构图中主要包含输入层、输出层、全连接层(隐藏层),输入层输入数据,经过全连接层的处理,从输出层输出分类结果。

该模型的输入层包括4部分,即输入了4个特征,分别是:CPU利用率(CPU)、内存利用率(Memory Usage)、接收报文速率(Re message rate)、以及设备响应时间(Response time)。输出层输出2种设备状态,分别是:设备“故障”或是“正常”,在实验中,1表示设备状态故障,0表示设备状态正常。

全连接层的核心操作就是矩阵相乘,并通过激活函数产生非线性特性,其输入输出公式为:

其中,x,z分别为输入输出特征向量;W为权重矩阵;b为偏置;f(·)代表激活函数。在实验中,设置全连接层神经网络共2层,每层的维度分别为128和64。

1.2.2 模型的训练与预测

使用Softmax函数作为最终判断设备状态属于哪一种类别的概率计算,其损失函數为交叉熵,定义如下:

在训练过程中,加入正则化项,尽量防止过拟合现象的发生。对此,可将公式写作如下形式:

1.2.3 评价指标

本次研究是针对数据中心机房故障进行预测,本质上是对机房设备状态进行分类判断,属于二分类问题,因此使用损失变化和分类准确率作为评测指标。在实验中,利用梯度下降法来最小化损失。

1.3 实验结果与分析

设置学习率为0.01,采用梯度下降法最小化损失,在实验中一共训练了1 000轮。运行后绘制得到的损失曲线图和准确率曲线图分别如图3、图4所示。由图3可以看出,随着迭代次数的增加,训练出的模型损失曲线呈收敛趋势,最终在800步之后趋于稳定。由图4可以看出,随着迭代次数的增加,准确率逐渐增加,最终稳定在0.99,输入测试数据,可以较为准确地预测出数据所对应的设备状态。

输入部分样本数据,调用模型预测,预测后的结果数据见表2。由表2可以看到,基本可以准确预测出当前设备状态。表2中,1表示设备状态故障,0表示设备状态正常。

2 结束语

综上所述,可以看出利用TensorFlow框架搭建的神经网络模型,经过训练后可以根据设备数据信息预测出设备状态。而当设备性能不佳时,可以提前提醒数据中心运维人员对设备进行维护,尽可能避免故障发生,减少损失。同时,预测出设备状态也是解决数据中心机房故障问题、实现机房智能故障预警过程中必不可少的关键步骤。

参考文献

[1]唐飞,唐海娜,恰汗·合孜尔,等. 一种基于被动测量的网络性能评估方法[J]. 计算机与数字工程,2013(4):602-604,672.

[2] 童晓薇. 一种基于网络的业务系统健康度评估方法[J]. 重庆理工大学学报(自然科学),2012,26(8):101-105,126.

[3] 陈庆. 浅谈数据中心设备及机房的智能化运维管理[J]. 中国金融电脑,2018(3):58-61.

猜你喜欢
神经网络数据中心
基于人工智能LSTM循环神经网络的学习成绩预测
关于间接蒸发冷机组在数据中心中应用的节能分析
基于图像处理与卷积神经网络的零件识别
基于改进VGG-16神经网络的图像分类方法
基于自适应神经网络的电网稳定性预测
2018年数据中心支出创新高
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
北京科创新型云数据中心
2017第十届中国数据中心大会榜单
基于BP神经网络PID控制的无刷直流电动机调速系统设计