Cacti監(jiān)控的安裝與配置
Cacti是一個(gè)非常好的網(wǎng)絡(luò)監(jiān)控工具,利用php語言實(shí)現(xiàn)其功能,Cacti通過 snmpget來獲取數(shù)據(jù),使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool復(fù)雜的參數(shù)。它提供了非常強(qiáng)大的數(shù)據(jù)和用戶管理功能,可以指定每一個(gè)用戶能查看樹狀結(jié)構(gòu)、host以及任何一張圖,還可以與LDAP結(jié)合進(jìn)行用戶驗(yàn)證,同時(shí)也能自己增加模板,功能非常強(qiáng)大完善。界面友好,下面來簡(jiǎn)要的介紹下cacti的安裝和配置,cacti的安裝需要lamp環(huán)境,php需要有一大堆的擴(kuò)展。
一、編譯安裝rrdtool
Linux下用的最多的是MRTG的性能監(jiān)視,MRTG配置比較簡(jiǎn)單,MRTG的確是非常好的東東,但我認(rèn)為它畢竟已經(jīng)是一套很舊的軟件了,其作者在多年前就已經(jīng)開發(fā)了RRDTool代替該軟件,現(xiàn)在已經(jīng)發(fā)展得很成熟。既然有更好的選擇,為什么我們還要用MRTG呢? 簡(jiǎn)單的說,rrdtool就是一個(gè)強(qiáng)大的繪圖的引擎,很多語言都可以調(diào)用rrdtool繪圖。
Cacti整個(gè)系統(tǒng)的架構(gòu)是這樣的:基于SNMP協(xié)議,被監(jiān)控端是服務(wù)器,或一些網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)管理工作站,采用Linux(或Freebsd)操作系統(tǒng),并且安裝Net-SNMP工具,使用RRDTOOL采集數(shù)據(jù),存儲(chǔ)數(shù)據(jù),并用Cacti調(diào)用rrdtool顯示出來。
CACTI采用PHP編寫,基于B/S結(jié)構(gòu)。
- [root@server5 ~]# cd /usr/local/src/tarbag/
- [root@server5 tarbag]# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.4.tar.gz
- [root@server5 tarbag]# tar -zxvf rrdtool-1.4.4.tar.gz -C ../software/
- [root@server5 tarbag]# cd ../software/rrdtool-1.4.4/
- [root@server5 rrdtool-1.4.4]# ./configure --prefix=/usr/local/rrdtool
- [root@server5 rrdtool-1.4.4]# make && make install
- [root@server5 rrdtool-1.4.4]# ls /usr/local/rrdtool/
- bin include lib share
- 也可以自動(dòng)安裝
- #yum -y install rrdtool
- # rrdtool
- RRDtool 1.4.4 Copyright 1997-2010 by Tobias Oetiker <tobi@oetiker.ch>
- Compiled Jan 14 2014 18:25:27
二、安裝配置net-snmp
- # yum -y install net-snmp net-snmp-libs net-snmp-utils
- 或
- # yum -y install net-snmp*
- 也可手工安裝
- # tar -zxvf net-snmp-5.2.4.tar.gz
- # cd net-snmp-5.2.4
- # ./configure --prefix=/usr/loca/net-snmp --enable-developer
- # make
- # make install
- 配置net-snmp
- # vim /etc/snmp/snmpd.conf
- 開機(jī)啟動(dòng)
- # chkconfig snmpd on
- # service snmpd start
三、Cacti安裝
- [root@server5 tarbag]# wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
- 直接解壓就行了
- [root@server5 tarbag]# tar -zxvf cacti-0.8.7g.tar.gz
- [root@server5 tarbag]# mv cacti-0.8.7g /usr/local/cacti
四、在數(shù)據(jù)庫(kù)服務(wù)器上導(dǎo)入cacti數(shù)據(jù)庫(kù)文件
- [root@server5 ~]# cd /usr/local/cacti
- [root@server5 cacti]# scp cacti.sql
- [root@yunwei ~]# mysql
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 1
- Server version: 5.1.36-log Source distribution
- Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
- mysql> create database cacti;
- Query OK, 1 row affected (0.00 sec)
- mysql> use cacti
- Database changed
- mysql> source /tmp/cacti.sql;
- mysql> select * from cacti.version;
- +-------------+
- | cacti |
- +-------------+
- | 0.8.7g |
- +-------------+
- 1 row in set (0.00 sec)
- 創(chuàng)建數(shù)據(jù)庫(kù)用戶
- mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti';
- mysql> flush privileges;
- 配置Cacti中的mysql連接參數(shù):
- # vi /usr/local/cacti/include/config.php
- $database_type = "mysql";
- $database_default = "cacti";
- $database_hostname = "192.168.1.1";
- $database_username = "cacti";
- $database_password = "cacti";
- $database_port = "3306";
- $url_path = "/cacti/"; #這一行非常重要設(shè)置cacti程序訪問路徑的
五、建立任務(wù)調(diào)度(設(shè)置cacti收集數(shù)據(jù)的默認(rèn)的任務(wù)計(jì)劃)
- # crontab -e
- */2 * * * * /usr/local/php5.3.23/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1
- 代表每2分鐘來執(zhí)行后面PHP解析內(nèi)容,把顯示信息重定向到空的路徑
- 為了防止這個(gè)任務(wù)計(jì)劃不執(zhí)行,我們***手動(dòng)驗(yàn)證一下,
- # /usr/bin/php /usr/local/cacti/poller.php
- 如果出現(xiàn)大量php時(shí)區(qū)設(shè)置的錯(cuò)誤,那php.ini的時(shí)區(qū)設(shè)置的不對(duì),下面我們來修改一下php時(shí)區(qū)。
- # vim /etc/php.ini
- date.timezone = Asia/Shanghai
- # service httpd restart
六、安裝cacti
在瀏覽器中輸入http://ip/cacti 跟著提示進(jìn)行安裝;默認(rèn)管理員用戶名和密碼都是admin,***登錄強(qiáng)制要求修改管理員用戶密碼。
七、cacti-plugins插件安裝
PA的安裝,PA是cacti的插件管理工具,其他插件需要PA的支持才可以安裝,安裝monitor、settings、thold插件。
八、被監(jiān)控主機(jī)snmp的配置
在生產(chǎn)環(huán)境中,snmp協(xié)議一般只開在內(nèi)網(wǎng)網(wǎng)卡:
- # vi /etc/snmp/snmpd.conf
1、更改
- com2sec notConfigUser default public
- 改為
- com2sec notConfigUser 127.0.0.1 public 本機(jī)
- com2sec notConfigUser 192.168.1.1 public 監(jiān)控主機(jī)
2、#view all included .1 80
將前面的 # 注釋 去掉。 保存退出。
- [root@server5 ~]# service snmpd start
- 啟動(dòng) snmpd:
- [root@server5 ~]# chkconfig snmpd on
測(cè)試snmp是否正常:
- [root@server5 ~]# snmpwalk -v 2c 127.0.0.1 -c public