15
4.3 基于Linux操作系统的客户端性能实时监控模块设计和实现 16
4.3.1 基于Linux系统proc文件夹下系统文件的采集器设计 16
4.3.2 基于Linux系统调用sysinfo方法的内存信息采集器设计 18
4.3.3 基于Linux系统调用sysconf方法的多核CPU性能采集器设计 19
4.4 客户端应用的实时日志监控 22
4.4.1 基于RegEx的日志记录提取方法 22
4.4.2 单个日志文件的实时采集方法 24
4.4.3 基于映射的多个日志文件的采集方法 26
4.5 基于zabbix框架的服务器端应用 30
5 系统测试 31
5.1 测试环境 31
5.2 测试系统运行 31
5.3 测试结果和结论 36
结 论 37
致 谢 38
参 考 文 献 39
1 引言
信息时代早已来临,大数据时代更是悄然而至。互联网作为信息的重要载体之一,已然成为人们生活和工作中不可缺少的一部分。不仅信息量的单位发生了“KB-MB-GB-TB-PB-EB”的指数级增长,信息的使用人群也从少数工作环境需要的群体向大众方向转变。但是随着信息量的爆炸式增长和互联网使用群体的愈发庞大和多样化,网络 应用的运维和监管也愈发困难。普通的网络应用架构在遇到错误、延迟甚至崩溃等突发问题时,往往无法立刻给出问题源,而需要运维人员手动查看系统运行状况和翻阅日志来寻找问题。这种解决方法不仅缺乏效率,还会对运营方、使用方和应用本身造成不必要的损失和伤害。因此,如果能通过对系统性能和服务器日志分析,利用数据挖掘、可视化等方法,建立起一个服务器监控系统,使得服务器的访问、使用等操作得到有效监管。同时对突发问题,系统也能快速筛选出与问题有关的日志,列出可能的问题源,帮助运维人员迅速解决问题。就能大大减少整个服务器架构的人力、物力和财力投入,同时还有利于可持续发展。此外,为了满足逐渐扩大的数据规模和服务器规模,分布式系统也成为必须要考虑的问题。本次毕业设计是分布式服务器维护监控系统的设计和实现。结合实际情况,完成基于程序能力训练测试平台的分布式服务器维护监控系统的设计和实现。
1.1 工程背景及意义
随着PC的普及、信息传输技术的发达和移动通信技术的成熟,人们接触互联网的方式由单纯的拨号发展成CDMA、4G、无线上网等多种上网方式;浏览网页的需求也从单一的文字需求转变成图片、视频流甚至多媒体需求;同时,互联网的用户从少数工作需要的青年人向儿童、老年这些更广的年龄段扩展。这样一来,互联网的接入点更多了,需求更大了,流量更宽了。互联网应用在变得内容更多、数据更大、速度更快的同时,服务器处理的数据也就更多了,压力更大了,也就更容易出现问题。
由于应用本身的膨胀,会出现错误的环节也就大大增加了,无论是服务器的硬件和系统,还是网络应用本身,都可能出现漏洞。即使所有的服务器架构和应用都会拥有生成日志的模块,但是在庞大的使用量下产生的海量日志中寻找问题,就如大海捞针般困难。因为日志中大多数成功的记录和重复的记录在排除故障的过程中都是无用的,但是它们又占据着极大的篇幅,导致排除故障的效率十分低下。因此,实时监控服务器性能和服务器应用日志并提取关键记录成为服务器运维的重要环节。 zabbix程序能力训练测试平台分布式服务器维护监控系统(2):http://www.chuibin.com/jisuanji/lunwen_205642.html