Cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,然後用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。
Snmp關係着數據的收集,rrdtool關係着數據存儲和圖表的生成。snmp抓到數據不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下,一般以rra爲後綴名稱)。簡單原理圖如下:
Cacti服務器端安裝
安裝LAMP系統環境
這裏採用yum安裝方式,安裝命令:
yum install httpd mysql mysql-server php php-mysql php-snmp net-snmp net-snmp-utils net-snmp-libs net-snmp-devel libart_lgpl-devel libpng-devel freetype-devel cairo-devel pango-devel libxml2-devel gcc -y
安裝SNMP服務
yum install net-snmp net-snmp-utils –y
安裝cacti主程序
tar xzf cacti-0.8.8a.tar.gz && mv cacti-0.8.8a /var/www/html/cacti/
創建cacti數據庫
mysql -uroot –p 輸入你的密碼進入數據庫,然後創建數據庫: create database cacti;創建數據庫 grant all on cacti.* tocacti@'localhost' identified by "123456";創建用戶並授權 flush privileges; 刷新權限
mysql配置完畢後,把cacti數據導入cacti數據庫
mysql -ucacti -p123456 cacti</var/www/html/cacti/cacti.sql 配置完mysql後,我們需要設置cacti rra、log 目錄的權限,這裏設置爲777: chmod -R 777 /var/www/html/cacti/rra/ chmod -R 777 /var/www/html/cacti/log/
修改cacti全局配置文件
vi /var/www/html/cacti/include/config.php爲如下配置:
添加Rrdtool抓圖任務計劃
*/5 * * * */usr/bin/php /var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log 2>&1
Cacti安裝完畢,測試訪問
通過http://ip/cacti/訪問出現如下界面,點擊NEXT下一步。
默認一直點擊下一步:
進入登錄界面,第一次需要修改密碼:
第一次賬號密碼爲admin
進入Cacti配置管理界面
點擊device,可以添加設備,默認可以看到127.0.0.1這臺服務器。右上角Add可以增加設備。
點擊localhost可以看到具體的設置,包括採用的snmp協議版本,監控的名稱等:
如果出現snmp error,檢查snmp服務是否已啓動,或者是否有權限。出現如上信息則表示正常。
點擊左上角第二個按鈕,graphs查看cacti圖像—選擇localhost主機—右邊會顯示cacti每5分鐘的監控圖像。