Cacti是通過 snmpget來獲取數據,使用 RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool複雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。
一、安裝
1安裝LAMP環境
#yum install -y httpd php php-mysql php-snmp php-xml php-gd mysql mysql-server mysql-sevel
#service httpd start
#chkconfig httpd on
#service mysqld start
#chkconfig mysqld on
#mysqladmin -u root password 'password'
二、安裝配置net-snmp
1安裝net-snmp組件
#yum install -y net-snmp net-snmp-utils net-snmp-libs net-snmp-devel
2配置文件
#vim /etc/snmp/snmpd.conf
access not ConfigGroup "" any noauth exact systemview none none(改爲)
access notConfigGroup "" any noauth exact all none none
view all included .1 80
三、安裝rrdtool
#yum install -y rrdtool
四、下載安裝cacti
#wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
#tar -zxvf cacti-0.8.8b.tar.gz
#mv cacti-0.8.8b /var/www/html/cacti
#cd /var/www/html/cacti/
五、配置數據庫
1創建數據庫
mysql>create database cacti;
2創建用戶授權
mysql> GRANT ALL ON cacti.* to cacti@localhost IDENTIFIED BY 'cacti';
mysql>flush privileges;
3導入數據庫
#mysqldump -ucacti -p cacti < cacti.sql
六、修改配置文件
#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;
$url_path = "/cacti/";(取消註釋)
#chown -R apache /var/www/html/cacti
七、配置計劃任務
#echo "*/5 * * * * root php /var/www/html/cacti/poller.php > /dev/null 2>&1" >> /etc/crontab
#service crond restart
八、完成安裝cacti
http://ip/cacti
客戶端只需要配置net-snmp的community與服務器端一直即可,見步驟二
九、Cacti 優化之spine輪詢器
出於效率原因,在大量採集數據時使用自帶的cmd.php輪詢器會比較慢,1分鐘1次的採集頻率可能無法完成輪詢所有機器。爲了優化,採用官方推薦的spine來高效輪詢。下載的版本是spine-0.8.8b,所用cacti爲0.8.8b。
1安裝依賴包
#yum install -y mysql-devel net-snmp-devel mysql openssl-devel
2安裝spine
#tar xf cacti-spine-0.8.8b.tar.gz
#cd cacti-spine-0.8.8b
#./configure
#make&&make install
3配置文件修改
#cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
#vim /usr/local/spine/etc/spine.conf
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
DB_PreG 0
4在cacti裏設置spine路徑
Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
輸入spine路徑:/usr/local/spine/bin/spine
5修改cacti使用的Poller Type
Console -> Cacti Settings->Poller->Poller Type
將Poller Type選擇爲spine