数据中心cacti网络监控系统搭建与应用.docx
《数据中心cacti网络监控系统搭建与应用.docx》由会员分享,可在线阅读,更多相关《数据中心cacti网络监控系统搭建与应用.docx(17页珍藏版)》请在冰豆网上搜索。
数据中心cacti网络监控系统搭建与应用
XXX学院
毕业设计
论文题目数据中心cacti网络监控系统搭建与应用
数据中心cacti网络监控系统搭建与应用
内容摘要
摘要:
Cacti是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具,用于搭建网络流量监控服务器,获取、储存和更新数据,并以图表方式呈现给用户。
实现高效、低成本的网络设备及服务器的流量监控服务。
本文主要介绍在Linux系统下监控平台构建方法和如何使用CactiEZ实现对Windows主机的实时监控。
关键词:
Linux;Cacti;CactiEZ;监控;
第一章绪论
随着互联网的飞速发展,互联网的设备呈现几何增加,网络的拓扑结构和应用也更加复杂,潜在的各种网络攻击威胁也不断的出现,高效的网络监控管理是一个网络能否有效率运转的最基本的前提。
IP运维支撑系统的建设却显得相对滞后。
因为IP城域网内设备种类众多,厂家繁杂,各厂家建立着各自的网络管理系统,各网管系统之间无法互通或兼容,管理维护困难。
运维人员无法对整个网络进行实时监控和分析,做不到主动和及时发现故障,更难以为用户提供SLA保证,服务水平无法得到提升。
因此,本设计是数据中心Cacti网络监控系统的搭建与应用。
Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。
利用snmp协议获取数据设备的端口状态、端口流量、CPU利用率、磁盘空间用率等数据。
通过系统采集现有的IP设备支持的snmp协议信息,实现对所有IP设备的拓扑管理、性能管理、日志管理以及故障管理等,通过rrdtool存储和更新生成图片呈现给管理员,管理员可通过Cacti网络监控平台实时进行监控从而及时掌握了网络的实时情况,才能迅速用相应的手段来对可能出现的问题。
网络监控管理为网络平稳运行提供了必要保障,为网络优化分析提供了可靠数据,从而保障了受监控主机的正常高效运行。
而在企业网络运维过程中,管理员必须时刻关注服务器的运行状态,如CPU、内存、磁盘空间使用情况及端口带宽等。
那么,保证用户网络应用需求,利用开源软件CactiEZ的综合运用就是进行网络流量监控和管理的不错选择。
第二章Cacti介绍
Cacti已经是国际公认的最开放、最有发展潜力的开源运维系统,是广大运维工程师的称手利器。
2.1Cacti概述
Cacti开源项目开始于2001年6月。
当时,IanBerry为一家美国互联网服务供应商工作,开始在一个项目中接触到RRDTool。
IanBerry发现RRDTool强大而又灵活,可以产生网络基础设施的各种复杂图形和报告,但缺乏一个友好的界面。
于是,他开始使用PHP+MySQL开发RRDTool的接口,并于2001年11月21日首次公开发布Cacti(版本0.6)。
很快,Cacti在开源社区中获得了普及。
Cacti是一个开放源码的工具,最典型的应用是与SNMP配合绘制网络带宽。
Cacti还可以与SNMP、Perl或Shell脚本等配合完成多种图形的绘制。
网络管理员选择Cacti作为网络监控工具的重要原因,在于它是迄今为止最好的RRDTool的前端:
安装简单,无需花费几十个小时来配置,不需要预安装太多的工具,使用PHP、MySQL开发的web接口非常灵活,可以从非常活跃的公共论坛获得支持和更新。
另外,还有很很重要的两点:
用户与用户之间可以在论坛上分享“Cacti模板”,而不是从头开始设计所有模板,节省了大量的时间;用户可以为Cacti添加插件,使得Cacti能与更多的工具在一起配合工作,增加了Cacti的灵活性,大大扩展了Cacti的功能范围。
Cacti操作包括三种不同的任务:
数据采集,数据存储,数据显示。
2.1.1跨平台系统的数据采集
在网络运维中,为了实现集中统一的数据采集,必须采用与设备无关、与系统平台无关的方式,同时还要符合国际通行的标准以支持未来各种新设备,网络管理员会采用SNMP协议进行数据采集。
简单的网络管理协议(SimpleNetworkManagementProtocol)是专门设计用于IP网络管理网络节点(服务器、工作站、路由器、交换机等)的一种标准协议,它是一种应用层协议,SNMP使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。
通过使用SNMP协议对网络中各节点进行轮询并记录其返回数据,使得集中统一的数据采集成为可能,同时SNMP对网络的带宽资源占用很小,不会影响其他网络业务的正常通信,通过在网络设备、服务器上配置并启用SNMP协议,使跨平台跨系统的数据采集成为可能。
Cacti监测系统的工作原理,如图2-1所示:
图2-1Cacti工作原理图
2.1.2开放、灵活、高效的数据处理核心
要让海量的原始数据可以开放、灵活、高效地被应用管理层使用,需要有标准、统一的数据处理层,不能使用厂商专有的数据处理工具。
Cacti基于Linux系统平台,采用B/S(浏览器/服务器)结构的应用模式,在核心数据处理层综合运用了多个开源软件(RRDtool、PHP、Mysql、Apache),使之共同构成了网络监控告警系统的核心层。
整个监控系统的各个组建以Cacti为中心,它为系统提供一个控制平台,我们可以在上面进行设备的管理、监控内容的设置已经用户权限的管理,它自动采用SNMP协议轮询采集各监控点的数据,并将实时数据存储为新型的RRD(RoundRobinDatabase)数据库,RRD数据库按照“循环”round-robin的方式进行存储,自己定义数据的生命周期,后面的数据将覆盖前面的数据,这种数据库比较适用于存储动态数据,Mysql数据库仅存储各项监控内容的模版、监控信息以及设备信息。
当应用层发起对某个监控内容的查询请求时,Cacti首先在Mysql数据库中找到于该监控内容相关的信息,并根据这些信息命令RRDtool进行绘图,最终通过用户端的浏览器将相关请求以图化形式显示出来。
Cacti工作流程,如图2-2所示:
图2-2Cacti工作流程图
一、简单的说明一下Cacti的工作流程图
步骤一:
snmp协议收集远程服务器的数据
步骤二:
将snmp收集的数据内容保存到rrd数据库中
步骤三:
若用户查看某台设备上的流量或其它状态信息
步骤四:
在mysql数据库中查找该设备对应的rra数据库文件的名称
步骤五:
通过rrdtool命令进行绘图即可
第三章Cacti监控系统的搭建
本文中用cactiEZ软件来装cacti监控系统。
CactiEZ中文版是最简单有效的Cacti中文解决方案,整合Spine,RRDTool和美化字体。
集成Thold,Monitor,Syslog,Weathermap,Realtime,Errorimage,Mobile,Aggregate以及Apache,Squid,F5,Nginx,MySQL等模板。
支持多种硬盘控制器和阵列卡,基于CentOS6,启动速度更快,支持EXT4文件系统,原生rsyslog更稳定。
全中文页面,中文图形,支持邮件报警,支持声音报警,安装方便使用简单。
3.1CactiEZ体系架构
Cacti是用PHP语言实现的一个软件,它的主要功能是用SNMP服务获取数据,然后用RRDTool储存和更新数据,当用户需要查看数据的时候用RRDTool生成图表呈现给用户。
Cacti需要在监控的设备端开启snmp协议,通过snmpget命令来获取数据,使用RRDtool绘画图形,而且它具有非常强大的数据和用户管理功能,可以指定不同的用户查看不同的树状结构、host及图形,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。
但是Cacti的安装繁琐、设置复杂,并且对于新手在Cacti中安装插件也较困难,后来Cacti爱好者JimmyConner研制和开发了CactiEZ。
CactiEZ是一个基于CentOS专门用作运行Cacti的Linux发行版,系统中安装Cacti和Webmin所必须的软件,包括BackUp,Discovery,Flowview,Haloe,MacTrack,Monitor,NTop,RRDClean,Reports,Thold,Tools,Update等应用插件,但部分插件需要用户自己启用才可使用,整个操作系统安装完成,配置好IP后即可使用Cacti,节省了安装配置时间。
3.1.2CactiEZ的部署
CactiEZ是基于SNMP监控的,采取主动轮询方式获取相关的设备信息,从而实现对网络设备的监控,通过脚本在每隔多少分钟对被监控的网络设备进行轮询,查找对应的OID,并存储起来,然后用图形工具将其展现。
CactiEZ的部署方式比较灵活,可以将安装Cacti的监控服务器部署在任何地方,只要确保与被监控网络设备能互联互通就可以,因为CactiEZ是通过网络来获取流量信息的。
3.1.3SNMP
SNMP(简单网络管理协议)用于收集设备内部发生的数据,如负载、磁盘状态、带宽之类。
像Cacti这样的网络监控工具用这些数据生成图标以达到监控的目的。
在一个典型的网络监控部署中,被监控设备必须启用SNMP,以及一台独立的用来从那些设备收集SNMP回馈的监控服务器。
3.2Cacti监控系统的搭建
Linux主机监控被监控Windows主机拓扑,如图3-1所示:
图3-1监控拓扑
3.2.1Linux虚拟机的安装
创建一台Linux虚拟机,版本选择CentOS64位,内存:
1GB,硬盘:
20GB,网络适配器:
桥接模式(自动),镜像:
CactiEZ-10.1-x86_64.ios。
如图3-2所示:
图3-2安装虚拟机配置
3.2.2设置CactiEZ监控主机
一、修改虚拟机IP
默认安装好后,系统登录用户root,密码CactiEZ,在虚拟机字符界面中输入:
vi/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip地址,子网掩码,网关,让虚拟机Ip与本机Ip同一个网段,修改后的如图3-3所示:
图3-3完成修改
修改后Linux虚拟机的IP地址为:
169.255.149.56
二、登录CactiEZ监控平台
在浏览器中输入IP地址:
169.255.149.56,出现界面如图3-4所示:
图3-4登录成功
三、修改密码
用户名:
admin,密码:
admin。
从安全角度出发,第一次登录之后必须修改默认密码,修改好之后保存,登录到CactiEZWeb监控平台。
登录成功后见到以下界面说明CactiEZ安装成功,如图3-5所示:
图3-5CactiEZ安装成功
3.3Cacti监控系统的配置
Cacti可实时对网络设备的系统均值、磁盘空间使用率等资源进行全面的性能监控,全面地反映网络整体性能和使用状况,提供网络整体性能状况分析。
同时及时发现设备出现的异常情况,第一时间作出抢修方案。
3.3.1配置被监控的windows客户机
一、下面开始安装配置snmp
开始-控制面板-程序-打开或关闭windows功能,勾选简单网络管理协议(snmp),如图3-6所示:
图3-6勾选简单网络管理协议(SNMP)
开始-运行,输入services.msc确定,打开服务管理,如图3-7所示:
图3-7输入services.msc,打开服务管理
找到SNMPService选项,双击打开,切换到安全选项,在接受团体名称下面点击添加,出现SNMP服务配置,如图3-8和图3-9所示:
图3-8找到SNMPService,双击
图3-9在接受的社区名称下选择添加,输入public选择只读权限,并在接受来自下列主机的SNMP数据包下选择添加,输入监控机的IP地址
二、把被监控windows主机加入Cacti的主机列表中
添加主机-zpl,在描述主机名为:
zpl,主机名中输入要监控的windows主机IP地址:
169.255.0.3,主机模块选择Windows主机,在监控主机这一选项勾选监控主机,其余选项默认选择,点击添加按钮,如图3-10和图3-11所示:
图3-10添加被监控主机zpl
图3-11点击添加
zpl主机添加成功,如图3-12所示:
图3-12zpl主机添加成功
3.3.2Cacti监控系统的实现
以下的图片是使用CactiEZ对被监控Windows的监控。
如果需要对别的主机监控,要对被监控主机的SNMP服务进行相关设置,并在监控端的CactiEZ软件上进行相关设置。
一、被监控主机CPU使用率的监控如图3-13、图3-14、图3-15、图3-16和3-17所示:
图3-13被监控主机CPU使用率每小时监控图,在00:
40至02:
20这段时间CPU使用率最高为35%
图3-14被监控主机CPU使用率每天监控图,在16:
00至02:
00这段时间CPU使用率最高为35%
图3-15被监控主机CPU使用率每周监控图,在24号这天CPU使用率最高为14%
图3-16被监控主机CPU使用率每月监控图,在Week51这周CPU使用率最高为11%
图3-17被监控主机CPU使用率每年监控图,可以观察一年中每月的CPU使用率
二、被监控主机的内存使用率(紫色表示剩余内存,橘色表示内存缓冲器,黄色表示内存缓冲)的监控如图3-18、图3-19、图3-20、图3-21和图3-22所示:
图3-18被监控主机内存使用率每小时监控图,可以观察每小时的内存使用率的波动
图3-19被监控主机内存使用率每天监控图,可以观察一天内每个时段的内存使用率的波动
图3-20被监控主机内存使用率每周监控图,可以观察一周内每天的内存使用率的波动
图3-21被监控主机内存使用率每月监控图,观察一个月内每周的内存使用率的波动
图3-22被监控主机内存使用率每年监控图,可以观察一年内每月的内存使用率的波动
三、被监控主机的端口带宽(绿色表示端口流量的流入,蓝色表示端口流量的流出)的监控如图3-23、图3-24、图3-25、图3-26和图3-27所示:
图3-23被监控主机端口带宽每小时监控图,在00:
40至02:
20流出最大为16.16k,流入最大为6.05k
图3-24被监控主机端口带宽每天监控图,一天中流出的最大为16.16k,流入的最大为6.05k
图3-25被监控主机端口带宽每周监控图,一周内流出的最大为5.27k,流入的最大为3.01k
图3-26被监控主机端口带宽每月监控图,一个月内流出的最大为2.61k,流入的最大为1.76k
图3-27被监控主机端口带宽每年监控图,可以观察一年内每月的流量波动
第四章Cacti应用
4.1Cacti监控系统对网管的贡献
一、端口流量
网络的监控在日常的网络运行维护当中是一个非常重要的内容,利用Cacti进行对相应设备的端口流量监控和流量分析是整个网络合理化的重要环节,它能在最短的时间内发现安全威胁,在第一时间进行分析,通过流量分析来确定攻击,然后发出预警。
因为通过对路由器、交换机等设备端口流量的监控,以便于网络管理员直观地了解网络中各个部分的带宽的情况,第一时间发现异常网络流量,有效防范黑客和病毒的攻击。
同时,还可以根据各个端口使用带宽的情况对网络带宽进行较合理的划分,从而提高网络的运行效率。
二、设备中断短信自动告警
网络管理员可以通过在该系统开发一个自动告警接口,通过自定义告警类型以及阀值,如设置网络流量带宽上下限、服务器端口连接数、CPU占用率、内存使用率、硬盘使用状态、进程数量,挡系统监测到满足触发条件的事件后,通过该接口把相关的信息发送到信息发布平台,根据故障影响范围、属地、负责人的不同,故障信息将短信的形式发送给相关人员。
网络管理员维护人员可以再第一时间获得故障发生地点、设备名称、故障问题描述、故障发生时间等信息,为网络管理维护人员及时地判断排除网络设备、服务器设备故障节约时间,提高网络故障处理的效率。
三、网络性能的分析与优化
长期以来,网络管理员采用被动的、粗放的管理方式,对网络性能的管理一直停留在业务是否通断的层面上,无法得知内部数据网的运行状态,对于网络业务的性能下降缺乏必要的手段去检测于分析。
通过Cacti系统,可以有针对性地将各个相关监测点的历史数据提取出来,进行横向于纵向的比较,由此可准确地判断问题的根源。
例如,某部门报告他们的网络业务在15min之前出现访问速度,持续数分钟后恢复了,需要网络管理部门进行检查。
以往排查此类故障需要大量的时间于人力去等待故障重现,而且往往是不了了之,而通过对历史数据的分析,调用相关路由器、交换机的端口流量记录进行分析,结果发现是另一项网络业务的流量过大造成网络拥塞。
参考文献
[1]何斌斌,周恩浩,张波等.基于Cacti的校园网络监控[J].科技信息2009
[2]石进,梁伟欢,何志诚等.Cacti在企业内部数据网的应用2009
[3]雷博,刘鹏.使用开源软件实现有针对性的网络监控[J].科技资讯2010
[4]董剑.校园网络攻防技术研究网络流量监测系统的简单实现[J].现代商贸工业2008
[5]岁锐坚.使用Cacti监测系统与网络性能[J].开放系统世界2006
[6]余卫华.基于开源软件的网络监测系统[J].微计算机信息,2007