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服務,並加入開機啓動

service  snmpd  start

chkconfig  snmpd  on


2、安裝LAMP

yum  install  httpd  mysql-server  php-mysql  mysql-devel

chkconfig  httpdon

chkconfig  mysqld on

/etc/init.d/httpd  start

/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包

yum  install  net-snmp-devel  -y

yum  install  mysql-devel  -y

yum  install  openssl-devel  -y


3、安裝gcc和libtool

yum  install  gcc  -y

yum  install  libtool  -y


4、下載cacti並解壓

tar  xvzf  cacti-spine-0.8.8g.tar.gz

編譯安裝:

cd  cacti-spine-0.8.8g

aclocal

lobtoolize  --force

autoheader

autoconf

automake

./configure

make  &&  make  install


5、創建並配置spine.conf

cp  /usr/local/spine/etc/spine.conf.dist  /etc/spine.conf

chown  cacti.cacti  /etc/spine.conf

vim  /etc/spine.conf

DB_Host  localhost

DB_Database  cacti

DB_User  cacti_user

DB_Pass  cacti

DB_Port  3306


6、創建mysql用戶,創建db並授予權限。

use myql

update  user  set  passwd=password('123')  where  user='root';

flush  privileges;

create  database  if  not  exists  cacti  default  charset  utf8  collate utf8_general_ci;

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

grant  all  on  cacti.*  to  cacti;

flush  privileges;


7、導入默認的cacti.sql

tar  xvzf  cacti-0.8.8g.tar.gz

mv  cacti-0.8.8g.tar.gz  /var/www/html/cacti

cd  cacti

mysql  -ucacti  -pcacti  -h127.0.0.1  cacti  </var/www/html/cacti/cacti.sql



8、啓動spine測試

/usr/local/spine/bin/spine

顯示:

SPINE:Using  spine  config  file  [/etc/spine.conf]

SPINE:Version  0.8.8g  starting

SPINE: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---->spine  poller  file  path  [/usr/local/spine/bin/spine] (將輪詢器改爲spine)

settings---->poller---->poller  type  [spine]

console---->settings---->poller---->maximum  threads  per  process  [5]

save


11、添加計劃任務

#crontab  -e

*/1 * * * * *  /usr/bin/php   /var/www/html/cacti/poller.php  >  /dev/null  2>&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信息並生成圖像

wKiom1cxjH6Q0_I_AAJhlbZIMbM817.png

wKiom1cxjISyodrAAAWEjaEMoFk727.png

wKiom1cxjIaBzx0dAAJ6V25rxrM802.png

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

但是如此修改重啓數據庫後還是會回到拉丁字符,繼續亂碼

 

永久修改

[root@bogon ~]# cat/etc/my.cnf

[mysqld]

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

 

[mysqld_safe]

log-error=/var/log/mysqld.log

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

 

[client]

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、修改數據庫字符集後,已經有的圖像還是亂碼,

[root@localhost ~]# 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,很暴力,但是解決了亂碼問題。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章