網路工程師平日需要管理各種不同類型的通訊設備或主機,所以需要擁有一套網路監控系統,以便可以隨時掌控各種主機設備的網路流量狀況、資源耗用狀況或執行狀況。
CACTI是一套整合 SNMP、RRDtool、MySQL的前端管理軟體,它利用了RRDtool的資料儲存與強大的圖形功能來提供豐富的網路平台監控和分析能力,通常只要您想要監控的設備有支援SNMP網管協定,就可以快速加入CACTI內來進行遠端監控。
準備與安裝軟體
安裝cacti需要下列軟體:
- apache (httpd)
- net-snmp
- mysql
- php
- php-mysql
- php-snmp
- perl
- rrdtool
- cacti
Centos 的yum儲存庫並無cacti,所以請先加入 EPEL的 yum儲存庫
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
然後再使用 yum 或 apt安裝以解決軟體依賴性問題
# yum -y install cacti
設定cacti在apache的組態檔<Directory>段內的存取控制主機 (預設只允許本機存取cacti資料)
# vi /etc/httpd/conf.d/cacti.conf
在<Directory>段中新增一行
allow from any (或 192.168.x )
在 MySQL 上建立 Cacti 所用資料庫 、建立帳戶與設定權限與連線設定
(1) 建立 資料庫名稱為 cacti
#service mysqld start
# chkconfig --level 2345 mysqld on
# mysqladmin -u root -p create cacti
(2) 建立表格 cdef (需先找到 cacti.sql,每個版本位置不同)
# mysql -u root -p cacti < /usr/share/doc/cacti-0.8.7i/cacti.sql
(3) 登入 Cacti 資料庫並建立一個帳戶與密碼(均為cactiuser)且給予所有權限
# mysql -u root -p cacti (登入)
# mysql> grant all on cacti.* to cactiuser@localhost identified by 'cactiuser'; (建立帳戶並給予所有權限)
# mysql>flush privileges; (重新載入權限並離開)
mysql>exit
(4) 變更 cacti 組態檔內的資料庫連線設定
# vi /usr/share/cacti/include/config.php
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactiuser"; $database_port = "3306"; |
建立cacti使用者帳戶並變更網站目錄擁有者
(1) 建立一個執行cacti的使用者帳戶與變更擁有者
# useradd cacti -d /usr/share/cacti/ -s /bin/false (如果已經存在就無需建立只需留意家目錄是否正確)
# chown -R cacti /usr/share/cacti/
設定每隔五分鐘執行cacti指令檔
#crontab -e -u cacti */5 * * * * /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1 |
重新啟動相關服務
# service snmpd start
# service httpd restart
# chkconfig --level 2345 snmpd on
# chkconfig --level 2345 httpd on
第一次登入 cacti,設定基本資訊
使用瀏覽器,輸入右側網址 : http://cacti_ip_address/cacti/
(1) 安裝指引說明
(2) 選擇全新安裝或升級
(3)確認相關程式位置以及net-snmp、RRDTool版本
您需要確認所有程式均已正確的被發現 ( [OK: FILE FOUND] )
(4) 第一次登入cacti ,輸入使用者名稱 "admin" , 密碼也是 "admin",接下來會要求您變更密碼
(5) 登入成功介面
新增監控的網路主機或裝置
最後,您需要一一部的新增想要監控的網路設備或主機,步驟如下
(1) 設定監控設備的 SNMP
您需要先在主機或裝置上設定好snmp組態(包括群體名稱,SNMP伺服器),
(2)新增cacti設備
[management-->Device-->Add]
輸入描述、主機名稱或IP以及選擇適當的主機範本 (不同的範本支援不同的 )並儲存之。
(3) 新增設備圖形
按『Create Graphs for this Host』,並勾選適當的『Data query』
(4) 新增其它資源使用統計圖形
cacti利用不同類型的範本來支援不同的統計圖形,Windows 利用『Generic SNMP-enabled Host』支援網卡流量統計圖,若您需要監控其它資源的用量,則需再度編輯此主機的設定(Edit this Host),並選取『』
一旦改選擇主機範本並儲存之後,您就可以看到不同的可選用相關查詢資料
重新建立主機統計圖
勾選想要監控的資料查詢
建立 Graph Tree
為了方便檢視性質相關的主機圖,您可以建立多個Graph Tree 並在底下新增設備或主機。
最後按『graphs』索引標籤後,就可以依照graph tree的分組方式來檢視圖形