论文部分内容阅读
随着网络技术的快速发展,各种各样的服务通过网络提供给用户,服务的质量和效果越来越成为人们关注的焦点,如何快速的检测服务器的运行效果并及时的告知用户成了迫切需要解决的问题。为了解决这一问题,本文实现了基于Linux内核的多维监控系统。之所以选用Linux操作系统平台,是因为Linux操作系统具有优异的网络性能、高扩展性和可移植性等优点。目前对异常监测的研究主要是关于外部网络的攻击如病毒等的监测和防御,对于网络主机自身运行状态的监测研究还比较少。对主机状态的监测,目前也主要是实现了对主机资源的一维监控。论文分析了目前网络监控的研究现状以及目前基于一维网络监控的不足,给出了基于多维监测的网络异常监测机制。该机制能够对CPU、内存、硬盘、网络等多个指标进行实时监控,当服务器任何一个指标出现故障,能够及时的检测出来,帮助用户及时的获得服务主机运行情况,使用户能够及时的调整获取服务的策略。本文重点分析了Linux内核网络模块,在此基础上实现了具有数据采集和数据分析两大功能模块的监控系统。具体的工作如下:①根据系统需求,设计了以Linux内核为基础的系统整体结构,并在此基础上分析了数据采集和数据分析两个功能模块的总体实现方法。②针对传统基于一维数据的网络监控的不足,分析实现了多维数据网络监控的数据采集模块,分析设计了对CPU、内存、硬盘、网络等指标的采集方法。③重点分析了Linux内核中网络模块,并在此基础上通过修改网卡驱动从而实现了零拷贝;研究了Linux下网络抓包工具Libpcap的实现原理,修改Libpcap库函数使其与网卡零拷贝结合起来,并在此基础上实现网络指标的采集功能。④采用主元分析法(PCA)方法对采集到的数据进行分析,重点分析了网络监控的主元模型的建立过程以及如何用Hotelling T~2和Q统计量对采集到的数据进行检测。最后在总结全文的基础上,指出系统实现的不足之处以及下一步将要实现的内容。