陶兴宇,徐 蕾
(沈阳航空航天大学 计算机学院,沈阳 110136)
基于本地数据处理的网络监控数据采集算法
陶兴宇,徐蕾
(沈阳航空航天大学 计算机学院,沈阳 110136)
针对网管中网络监控数据的传输占用网络带宽的问题,提出一种数据采集算法。算法在做网络监控数据采集的网络监控端对采集数据进行分析和预处理,根据采集数据的变化动态调整监控数据的传输时间间隔,进而在数据传输的网络带宽占用和传输数据信息量之间做到较好的平衡。实验结果表明,该算法减少了采集的网络监控数据的传输次数和传输量,在网络管理端进行采集数据拟合时,数据拟合结果能很好地反应采集点网络状态变化的剧烈程度。
网络管理;数据采集;网络监控;本地数据处理;SNMP
网络管理系统中,为能够及时分析网络运行状态,需要实时、精确地采集网络运行监控数据,但采集数据的传输会消耗网络资源,严重时造成网络拥塞。通常要求网络监控数据的通信量限制在网络最小带宽的5%以内[1-2]。
网络监控数据的采集一般采用周期轮询的采集算法[3-4],轮询的时间间隔是这种算法的关键。采用固定时间间隔的轮询算法,其时间间隔难以确定,间隔过长不能实时获取网络状态信息,间隔太短则数据传输会占用过多带宽[5]。固定时间间隔采集算法优点是简单、易于实现,缺点是忽略了数据变化的特点、效率低[6]。针对固定时间间隔采集算法的缺点,出现了变时间间隔的采集算法。文献[7]根据采集到的数据信息,利用马尔可夫链建立的系统模型动态调整数据采集时间间隔,平衡数据采集对网络带宽影响和数据采集真实度。文献[8]通过对已经采集到的一段时间内的网络历史数据变化情况进行评估,得出数据变化平滑度并以此为依据调整数据采集时间间隔。文献[9]利用采集的历史数据进行数据拟合,得出一元线性回归方程,利用此方程预测下一时刻的数据,进而调整数据采集的频率,控制了网络通信量。
上述改进算法是利用已采集到的历史数据的变化规律,确定后续数据采集的时间间隔。若当前网络通信行为与历史数据反映的行为不一致,这种方法不易及时适应这些数据变化。现有的数据采集算法多数是由数据采集管理端发起的,采集管理端根据前一个(或多个)采集时刻的数据来确定下一个数据的采集时间间隔,监控数据采集的时间间隔变化没有准确反映当前的网络数据变化。
本文提出一种新的网络监控数据采集算法,该算法将网络状态数据采集的代理程序放在网络数据监控端,将采集到的网络监控数据先进行本地化分析处理,经分析、比较发现网络状态剧烈变化或者数据的采集间隔达到预置的最大时间间隔时,数据监控端的本地代理向系统管理端发送网络状态数据。在做本地数据处理时,由于不影响网络负载,可以根据需要较频繁地获取网络设备信息进行分析计算。当需要数据传输时,再将这些分析数据和当前时刻的网络状态数据一并传输到数据管理端,这样通过一次传输就可以获得较为全面的网络信息。实验结果表明,采集到的数据和实际数据的拟合结果较好,在网络状态变化剧烈时数据采集很频繁,及时获取了网络状态的变化信息;反之,采集点较为稀疏时,只获得必要的网络状态信息。
理想的网络运行状态监测算法是:在网络平稳运行时,降低频率轮询,减少不必要的网络监控数据传输;当网络运行波动较大时,能够及时将网络运行波动数据传送到网络管理端,使网络管理端能够及时发现网络的异常状态[10-11]。基于这一思想,在网络监控数据采集点增加数据处理功能,在采集本地先将采集到的数据与之前采集的数据做比较分析,必要时再将网络运行状态数据发送到网络管理端。
1.1监控端本地数据处理策略
根据网络管理端的数据采集要求,监控端采集一组本地的网络状态数据,包括监控端本地运行数据(如接口接收总字节数、接口数据速率等)、网络状态信息[12-13](可利用SNMP代理获取网络状态信息);设采集的n个数据用向量X={x1,x2,…,xn}表示,定义在时刻t1采集的数据X和时刻t2采集数据Y之间的数据最大变化率如式(1)所示:
(1)
网络运行平稳时,数据变化率较小,达不到阈值条件,会出现长时间没有数据传输到网络管理端的情况,造成网络管理端不易完整的监控网络运行状态的现象,因此算法设置了采集系统的最大采集时间间隔阈值ε。当监控端在ε个T的时间间隔之内没有向网络管理端发送数据时,在εT时刻也需要向网络管理端发送采集的监控数据。
为使网络管理端能更好地分析网络运行状态,在监控端采集的数据满足阈值条件向网络管理端发送当前t时刻的采集数据时,考虑到此时距上次数据的发送时刻t0有一定的时间间隔,为使网络管理端更好地恢复监控端的网络运行状态,同时又尽量减少网络中数据传输的通信量,在发送t时刻采集数据的同时,向网络管理端传送在此期间采集数据最大变化率排在前两位的两个采集数据及其采集时间,便于网络管理端利用这些数据拟合出t0与t时刻之间的网络运行状态。
1.2数据采集算法
在监控端需要设置ε个时间间隔的缓冲区,用于存储本地采集的还未发送到网络管理端的网络状态数据,每个缓冲区单元存放采集数据和采集时间的两元组,用(X,t)表示,缓冲区中的数据单元按照采集数据的最大变化率降序排列。设本地数据采集的时间间隔为T,在采集端本地利用T时间间隔的时钟中断触发采集操作。本地发送数据的最大数据间隔数是ε,采集数据最大变化率阈值为δ,数据采集算法描述如下:
(1)初始化采集数据存储缓冲区buffer;
(2)做一次初始的本地采集存入X;当前采集时刻为tX;
(3)启动时间间隔为T的时钟中断;
(4)REPEAT∥监控端进入采集工作;
(5)设置计数器变量count=0;
(6)while(count<ε){
(7)等待时钟中断信号;
(8)采集数据存入Y,记录时间tY;
(9)count=count+1;
(13)}
(14)构造发送数据S=(count,(Y,tY));
(15)If(count≥2)S=S‖bufer[0];
∥将buffer[0]联接在S数据的后面;
(16)If(count≥3)S=S‖buffer[1];
(17)向网络管理端发送数据S;
(18)Until数据采集结束。
以上算法通过在网络状态监控端监测信息的变化,动态调整向网络管理端传输数据的时刻,精确地采集网络运行状态信息。
1.3网络管理端的数据拟合
网络管理端接收到监控端的监控数据之后,为了恢复监控端系统运行状态,需要利用接收到的不同时间间隔系统运行状态采集点数据(包括每次上传的附加点数据),通过数据拟合的方法获得监控端的系统运行状态。本文使用最小二乘法的多项式拟合方法,在网络管理端进行监控数据拟合[14-15]。
利用拟合的多项式,网络管理端可以得到网络监控端各系统运行参数的近似变化情况。
在网络管理端,通过设置不同的实验条件,对监控端采集到的数据利用最小二乘法的多项式拟合得到监控端的系统状态变化情况,与实际系统状态变化情况进行对比,验证数据采集算法的有效性。
利用实验室环境下二层网络结构的局域网搭建实验环境,网络中设置一个网络管理端和多个网络监控端,监测网内重要节点的系统及网络运行状态。实验采集了某个网络监测端的接口数据速率、接口接收和发送的总字节数等多个网络运行状态数据参数。实验过程中,对网络运行进行一定的外界干扰,以便在系统运行正常及非正常的情况下实现数据采集。
设置监控端采集数据的时间间隔T=30 s不变,最大变化率阈值δ=0.4,最大采集时间间隔ε=10。从采集的参数中选取其中的CPU使用率和网络流量变化率两个参数,将网络管理端接收到采集数据与监控端系统的运行数据通过MATLAB进行最小二乘法多项式曲线拟合,得到原始网络数据和采集的网络数据变化情况图。观察所采集的数据是否能实时准确地反应网络的运行情况,拟合结果如图1、图2所示。
从以上实验得到的数据拟合结果可以看出,算法在数据变化剧烈的时候,采集点较为稠密,能够及时跟踪数据监控端的系统运行状态变化;监控端系统运行状态数据变化平缓时,采集点传输的间隔较长,占用了较低的网络带宽,反之传输的时间间隔变短。算法中每次传输采集数据时,会附带两次数据传输中间的多个采集点数据,进而使网络管理端能够获得更加丰富的系统监控数据。
图1 CPU使用率的采集数据拟合与实际数据对比
图2 网络流量变化率的采集数据拟合与实际数据对比
在网络运行监控系统中,若网络管理端需要全面准确地掌握网络运行状态,就需要进行频繁的系统运行状态采集和采集数据的传输,进而造成网络负载的增加。本文提出的数据采集算法,为减小网络运行状态传输对网络负载的影响,将采集的系统运行状态数据在采集本地进行比较和分析,并按照采集数据的传输策略确定是否进行采集数据的传输,进而动态地调整采集数据的传输时间间隔,数据传输时,将两次传输时间间隔中的数据变化信息一并发送到网络管理端。
算法对采集数据的本地处理策略只是简单的根据采集数据的变化率是否超过阈值决定数据是否传输,进一步的研究可考虑所采集的各种系统运行参数变化对网络运行产生的各种不同影响,需要对采集数据做综合分析,更高效地进行监控数据的传输。
[1]HUANG M G,WANG Z L.Subnet broadcast polling algorithm of network management based on SNMP[J].Applied Mechanics & Materials,2013(347-350):2915-2918.
[2]钱琼芬,李春林,张小庆,等.云数据中心虚拟资源管理研究综述[J].计算机应用研究,2012,29(7):2411-2415.
[3]杨指挥,王勇,苏瑞.用于网络管理系统的智能轮询策略[J].计算机工程,2010,36(9):106-108.
[4]S SUN Q,GAO L,WANGH,et al.A Dynamic Polling Strategy Based on Prediction Model for Large-Scale Network Monitoring[C]// International Conference on Advanced Cloud and Big Data,Nangjing,China:IEEE,2013:8-13.
[5]CHUVAKIN A A,SCHMIDT K J.Logging ang Log Management[J].Syngress,2013,2013(2):4-9.
[6]RANDY H.KATZ,DAVID E.CULLER,SETH SANDERS,et al.An information-centric energy infrastructure:the berkeley view[J].Su Computing Informatics & Systems,2011,1(1):7-22.
[7]蔡红维,周敏,蒋仕伟,等.智能轮询在航天测控运行管理系统中的应用[J].飞行器测控学报,2013,32(3):229-233.
[8]谭兴丽,唐学文,王美阳.一种动态分层分布式数据采集算法[J].计算机应用研究,2012,29(12):4691-4693.
[9]PHAN T H,LAMBERTSEN G,YAMADA T.Seamless handover supported by parallel polling and dynamic multicast group in connected WLAN micro-cells system[J].Computer Communications,2012,35(1):89-99.
[10]ANTON A.CHUVAKIN,KEVIN J.SCHMIDT,CHRISTOPHER PHILLIPS著,姚军,简于涵,刘晖,等译.日志管理与分析权威指南[M].北京:机械工业出版社,2014.
[11]李明江.SNMP简单网络管理协议[M].北京:电子工业出版社,2007.
[12]吴小川,张治学.基于Fuzzy丢包区分的TCP自适应拥塞控制算法[J].计算机应用,2013,33(7):1809-1812.
[13]PANG X Y,JIANG B,TONG C L,et al.A kind of data acquisition algorithm of adaptive data change rule[J].Computer Technology & Development,2013(6):384-391.
[14]JIANG H,JIN S,WANG C.Parameter-based data aggregation for statistical information extraction in wireless sensor networks[J].IEEE Transactions on Vehicular Technology,2010,59(8):3992-4001.
[15]张新,常义林,孙方涛,等.分层分布式网络故障监视算法研究[J].电子与信息学报,2007,29(4):771-775.
(责任编辑:刘划英文审校:赵亮)
Network monitoring data acquisition algorithm based on local data processing
TAO Xing-yu,XU Lei
(College of Computer Science,Shenyang Aerospace University,Shenyang 110136,China)
A data acquisition algorithm was proposed to deal with the problem of network bandwidth occupied by transmission of network monitoring data in network management.The algorithm analyzed and preprocessed data collected on the network-monitoring terminal of the network monitoring data acquisition.It dynamically adjusted and monitored the time interval of data transmission to manage a better balance between the network bandwidth occupied by the data transmission and the amount of data transmitted.The experiment results show that the algorithm reduces the number of network monitoring data transmission and the amount of information.If data at the collection point is fitted on the network management terminal,the fitting result can well reflect the changes of network status.
network management;data acquisition;network monitoring;local data processing;SNMP
2095-1248(2016)03-0084-04
2016-03-13
中航工业技术创新基金(基础研究类)(项目编号:2013S60109R)
陶兴宇(1991-),男,辽宁沈阳人,硕士研究生,主要研究方向:信息安全技术,E-mail:303718txj@sina.cn;徐蕾(1959-),女,上海人,教授,主要研究方向:信息安全技术。
TP393.07
A
10.3969/j.issn.2095-1248.2016.03.014