一、Cacti簡介
1. cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,然后用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。Snmp關系着數據的收集,rrdtool關系着數據存儲和圖表的生成。
2. Mysql配合PHP程序存儲一些變量數據並對變量數據進行調用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量。
3. snmp抓到數據不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數據的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(Round Robin Archive),它能夠存儲的數據筆數在創建時就已經定義。
二、常見平台
常見的服務器監控軟件
cacti,流量與性能監測為主----http://www.cacti.net/
nagios,服務與性能監測為主---http://www.nagios.org/
其他相關工具
RRDtool,輪詢數據工具
三、SNMP原理
四、cacti的工作結構
C/S模式,采集監控數據
B/S模式,管理監測平台
五、環境部署
環境:主機A和主機B的操作系統為CentOS6.6 x86_64,最小化安裝,均關閉SELINUX和防火牆,主機A作為監控端,主機B作為被進口歐冠端,IP地址分別為192.168.131.138和192。168.131.139。
5.1 部署cacti運行環境--LANM環境
# yum -y install httpd mysql mysql-server mysql-devel php php-mysql
# yum -y install zlib freetype libjpeg fontconfig libxml2 gd php-gd
# service httpd start
# chkconfig httpd on
# service mysqld start
# chkconfig mysqld on
5.2 安裝rrdtool工具
# yum -y install rrdtool rrdtool-perl
5.3 安裝net-snmp
# yum -y install net-snmp net-snmp-utils net-snmp-libs
# service snmpd start
# chkconfig snmpd on
5.4 部署cacti
#cd /tmp
#wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz #tar xzf cacti-0.8.8a.tar.gz #mv cacti-0.8.8a /var/www/html/cacti #cd /var/www/html/cacti
2、創建數據庫cacti
# mysql
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by '123456';
mysql> flush privileges;
mysql> exit
3、導入數據庫
mysql -uroot -p cacti < cacti.sql
# chown -R root:root /var/www/html/cacti/
# useradd cacti
# chown -R cacti:cacti /var/www/html/cacti/log/
# chown -R cacti:cacti /var/www/html/cacti/rra/注意:rra目錄:保存數據文件的目錄 log目錄:日志目錄
4、配置include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipassword";
打開注釋掉的: $url_path = "/cacti/";
5、配置計划任務
#useradd cacti
#su - cacti
$crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 //讓系統每5分鍾收集
#service crond restart
6、修改php.ini時區 #vim /etc/php.ini
date.timezone=Asia/Shanghai
#service httpd restart
注意:不修改時區的話,執行 /usr/bin/php /var/www/html/cacti/poller.php會報錯!
注意關閉防火牆或者允許80端口,關閉selinux
1) 在瀏覽器中輸入:http://監控服務器IP/cacti/
默認用戶名:admin 密碼:admin
2)設置cacti用到的命令路徑
3) 更改密碼
在瀏覽器輸入http://192.168.131.138/cacti/install/,進入cacti安裝向導