324242 发表于 2016-4-5 10:52:14

cacti监控思科路由器网卡流量

   最近刚换工作,公司40多人共用一个20M带宽的无线网络,路由器为思科R2911。老大让我整一个cacti来监控思科路由网卡流量。整了几天都获取不了snmp数据,最后要了路由权限才发现,上任运维临走把路由snmp服务关了,留下的文档写的很详细的他怎么打开并配置的snmp,心中一万个草泥马奔腾而过啊。不过庆幸有文档,可以很快的上手配置路由器。cacti监控还是很好配置,也是很好用的,对于有监控路由器流量或硬件负载的,可以研究一下。      cacti是一个基于LAMP,SNMP,以及RRDTool的服务,是用php实现的。cacti通过snmp服务获取数据,通过rrdtool存储和更新数据,rrdtool还可以生成图表提供给前端展现。snmp抓到的数据是通过rrdtool以.rrd文件的形式存储的,rrd文件是大小固定的档案文件,它能够存储的数据笔数在创建时就已经定义好了。mysql数据库中存储的数据是cacti服务的配置数据以供调用,如帐号密码,主机名,主机ip,snmp团体名,端口号,模版信息等。
      安装包分为cacti-spine和cacti主安装包。因为在数据大量的采集时,cacti自带的cmd.php轮询器会吃不消,高频率的大量数据采集无法完成轮询所有机器。cacti-spine是一个官方推荐的高效的轮询器。


需要的安装包

cacticacti-spinenet-snmp-devel
mysql
myql-devel
openssl-devel
apache
php
rddtool
net-snmp
cacti


安装详细过程

1、安装rddtool和snmp
yum install rddtool -y

yum install net-snmpyum install net-snmp-utils启动snmpd服务,并加入开机启动servicesnmpdstartchkconfigsnmpdon
2、安装LAMPyuminstallhttpdmysql-serverphp-mysqlmysql-develchkconfighttpdonchkconfigmysqld on/etc/init.d/httpdstart/etc/init.d/mysqld start
然后浏览器访问localhost,检查apache服务是否正常开启
安装cacti服务wget:http://www.cacti.net/downloads/cacti-0.8.8g.tar.gzwget:http://www.cacti.net/downloads/spine/cacti-spine-0.8.8g.tar.gz1、创建cacti用户useradd -m cactipasswd cacti密码:cacti
2、安装编译cacti-spine需要的devel包yuminstallnet-snmp-devel-yyuminstallmysql-devel-yyuminstallopenssl-devel-y
3、安装gcc和libtoolyuminstallgcc-yyuminstalllibtool-y
4、下载cacti并解压tarxvzfcacti-spine-0.8.8g.tar.gz编译安装:cdcacti-spine-0.8.8gaclocallobtoolize--forceautoheaderautoconfautomake./configuremake&&makeinstall
5、创建并配置spine.confcp/usr/local/spine/etc/spine.conf.dist/etc/spine.confchowncacti.cacti/etc/spine.confvim/etc/spine.confDB_HostlocalhostDB_DatabasecactiDB_Usercacti_userDB_PasscactiDB_Port3306
6、创建mysql用户,创建db并授予权限。use myqlupdateusersetpasswd=password('123')whereuser='root';
flushprivileges;
createdatabaseifnotexistscactidefaultcharsetutf8collate utf8_general_ci;
insertintouser(host,user,password)values('localhost','cacti',password("cacti"));
grantalloncacti.*tocacti;flushprivileges;
7、导入默认的cacti.sqltarxvzfcacti-0.8.8g.tar.gzmvcacti-0.8.8g.tar.gz/var/www/html/cacticdcactimysql-ucacti-pcacti-h127.0.0.1cacti</var/www/html/cacti/cacti.sql

8、启动spine测试
/usr/local/spine/bin/spine显示:
SPINE:UsingspineconfigfileSPINE:Version0.8.8gstartingSPINE:Time: 2.0527 s, Threads: 5, Hosts:2如与上面信息相似则是配置正确
9、安装cacti主服务cd/var/www/html/编辑cacti配置文件vim/var/www/html/cacti/include/config.php$database_type = \"mysql\";$database_default = \"cacti\";$database_hostname = \"localhost\";$database_username = \"cacti\";$database_password = \"cacti\";$database_port = \"3306\";$database_ssl = false;
打开页面http://127.0.0.1/cacti/index.php 一直next下一步到登录页面默认账户密码都为admin,很简单的就完成,就不配图了。
10、配置cacti页面上选择哦settings---->paths---->spinepollerfilepath (将轮询器改为spine)settings---->poller---->pollertypeconsole---->settings---->poller---->maximumthreadsperprocesssave
11、添加计划任务#crontab-e*/1 * * * * */usr/bin/php   /var/www/html/cacti/poller.php>/dev/null2>&1
设置每1分钟执行一次
12、配置思科路由器
摘自网络:---------------------------------------------一、配置Cisco设备的SNMP代理:#snmp-server community public ro 配置本路由器的只读字串为public#snmp-server community public rw 配置本路由器的读写字串为public#snmp-server enable traps 允许路由器将所有类型SNMP Trap发送出去#snmp-server host IP-address traps trapbhodc 指定路由器SNMP Trap的接收者IP-address发送Trap时采用trapbjodc作为字串#snmp-server trap-source loopback0 将loopback接口的IP地址作为SNMP Trap的发送源地址二、配置Cisco设备的SNMP代理:启用SNMP:#snmp-server community public rw/ro#end
启用陷阱:#configure terminal#snmp-server enable traps snmp authentication#end
配置snmp#conf t#snmp-server community cisco ro(只读) 配置只读通信字符串#snmp-server community secret rw(读写) 配置读写通信字符串#snmp-server enable traps 配置网关SNMP TRAP#snmp-server host 10.254.190.1 rw 配置网关工作站地址
如果用户不需要SNMP,最好取消;如果要使用SNMP,最好正确配置Cisco 路由器。但是,如果用户一定要使用SNMP,可以对其进行保护。首先,SNMP有两种模式:只读模式(RO)和读写模式(RW)。如果可能,使用只读模式,这样可以最大限度的控制用户的操作,即使在攻击者发现了通信中的字符串时,也能限制其利用SNMP进行侦察的目的,还能阻止攻击者利用其修改配置。如果必须使用读写模式,最好把只读模式与读写模式使用的通信字符串区别开来。最后可以通过访问控制列表来限制使用SNMP的用户。---------------------------------------------
13、配置网页获取snmp信息并生成图像

页: [1]
查看完整版本: cacti监控思科路由器网卡流量