death114 发表于 2019-1-9 12:56:55

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是一个官方推荐的高效的轮询器。
  

  

  需要的安装包


cacti
cacti-spine
  net-snmp-devel
  mysql
  myql-devel
  openssl-devel
  apache
  php
  rrdtool
  net-snmp
  cacti
  
  
  安装详细过程
  
  1、安装rrdtool和snmp
  yum install rrdtool -y
  

yum install net-snmp
yum install net-snmp-utils
启动snmpd服务,并加入开机启动
servicesnmpdstart
chkconfigsnmpdon


2、安装LAMP
yuminstallhttpdmysql-serverphp-mysqlmysql-devel
chkconfighttpdon
chkconfigmysqld on
/etc/init.d/httpdstart
/etc/init.d/mysqld start

然后浏览器访问localhost,检查apache服务是否正常开启


安装cacti服务
wget:http://www.cacti.net/downloads/cacti-0.8.8g.tar.gz
wget:http://www.cacti.net/downloads/spine/cacti-spine-0.8.8g.tar.gz
1、创建cacti用户
useradd -m cacti
passwd cacti
密码:cacti


2、安装编译cacti-spine需要的devel包
yuminstallnet-snmp-devel-y
yuminstallmysql-devel-y
yuminstallopenssl-devel-y


3、安装gcc和libtool
yuminstallgcc-y
yuminstalllibtool-y


4、下载cacti并解压
tarxvzfcacti-spine-0.8.8g.tar.gz
编译安装:
cdcacti-spine-0.8.8g
aclocal
lobtoolize--force
autoheader
autoconf
automake
./configure
make&&makeinstall


5、创建并配置spine.conf
cp/usr/local/spine/etc/spine.conf.dist/etc/spine.conf
chowncacti.cacti/etc/spine.conf
vim/etc/spine.conf
DB_Hostlocalhost
DB_Databasecacti
DB_Usercacti_user
DB_Passcacti
DB_Port3306


6、创建mysql用户,创建db并授予权限。
use myql
updateusersetpasswd=password('123')whereuser='root';

flushprivileges;

createdatabaseifnotexistscactidefaultcharsetutf8collate utf8_general_ci;

insertintouser(host,user,password)values('localhost','cacti',password("cacti"));

grantalloncacti.*tocacti;
flushprivileges;


7、导入默认的cacti.sql
tarxvzfcacti-0.8.8g.tar.gz
mvcacti-0.8.8g.tar.gz/var/www/html/cacti
cdcacti
mysql-ucacti-pcacti-h127.0.0.1cactipaths---->spinepollerfilepath (将轮询器改为spine)
settings---->poller---->pollertype
console---->settings---->poller---->maximumthreadsperprocess
save


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信息并生成图像
http://s1.运维网.com/wyfs02/M01/7F/EC/wKiom1cxjH6Q0_I_AAJhlbZIMbM817.png
http://s3.运维网.com/wyfs02/M01/7F/EC/wKiom1cxjISyodrAAAWEjaEMoFk727.png
http://s3.运维网.com/wyfs02/M02/7F/EC/wKiom1cxjIaBzx0dAAJ6V25rxrM802.png
http://s3.运维网.com/wyfs02/M01/7F/E9/wKioL1cxjWqwehEMAAZS2_m5r2Y939.png
  

  14、中文版可以在网上下载,关于乱码问题,如果忘记修改数据库字符集可按下面修改。
mysql默认的是拉丁字符集,
mysql> showvariables like '%character%' ;
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
|character_set_client   | latin1                     |
|character_set_connection | latin1                     |
|character_set_database   | latin1                     |
|character_set_filesystem | binary                     |
|character_set_results    | latin1                     |
|character_set_server   | latin1                     |
|character_set_system   | utf8                     |
|character_sets_dir       |/usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00sec)

临时修改可以使用setnames utf8
但是如此修改重启数据库后还是会回到拉丁字符,继续乱码

永久修改
# cat/etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-character-set=utf8
init_connect='SETNAMES utf8'
# Disablingsymbolic-links is recommended to prevent assorted security risks
symbolic-links=0


log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


default-character-set=utf8

在mysqld和client下面都添加default-character-set=utf8没有client的添加client。
创建数据库时设置默认字符编码,不用重启数据库

GBK:create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

UTF8:CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
  

  15、修改数据库字符集后,已经有的图像还是乱码,
  # cat /etc/sysconfig/i18n
  LANG="zh_CN.GBK"
  SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
  SYSFONT="latarcyrheb-sun16"
  如果不是以上信息,则可能是系统不支持中文字符集,我的解决办法是:
  yum groupinstall chinese-support

  vim /etc/sysconfig/i18n
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
  然后reboot,很暴力,但是解决了乱码问题。。。。。



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