Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。它通過snmpget來獲取數據,使用RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool複雜的參數。
它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善,界面友好。
Cacti架構圖
Cacti工作原理
開始安裝
在Ubuntu 12.04 LTS Server 上通過 apt-get 方式安裝:
sudo apt-get update sudo apt-get install snmpd cacti cacti-spine rrdtool
配置MySQL數據庫,輸入用戶密碼,再次確認後選擇繼續:
接下來,按“返回”或“Enter”鍵確認PHP的配置改變:
從Web服務器列表中選擇“Apache2”:
Cacti 配置Apache後,安裝了MySQL賬戶的應用程序。選擇“是”,允許通用的數據庫配置:
爲 Cacti 提供數據庫管理密碼:
接着,會詢問 Cacti 使用的數據庫的密碼,這是一個內部的密碼,輸入新密碼,選擇OK,這裏如果按“Enter”會創建一個隨機的密碼:
安裝應該按預期完成。
SNMPD 的配置
配置 SNMPD 與 Cacti 協同工作,它的配置文件位置在/etc/snmp/snmpd.conf, 請確保你的編輯的是snmpd.conf文件而不是snmp.conf文件:
sudo nano /etc/snmp/snmpd.conf
首先編輯代理行爲(Agent Behavio),在文件的開頭部分,註釋掉 agentAddress udp:127.0.0.1:161 行,並取消 #agentAddress udp:161,udp6:[::1]:161 行的註釋:
# Listen for connections from the local system only #agentAddress udp:127.0.0.1:161 # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161
然後找到 訪問控制 (ACCESS CONTROL) 部分,去掉 #rocommunity secret 10.0.0.0/16 前面的#號,並修改成您的域名或者IP地址:
rocommunity secret CactiServerIpAddress
您可以通過這條命令來查看IP地址:
ifconfig eth0 | grep inet | awk'{ print $2 }'
您可能還需要編輯系統信息將與你的數據在系統信息部分。你可以添加你的服務器的物理位置和聯繫人的電子郵件。如果您正在監視大量的雲服務器,這會幫助您區分那些主機:
sysLocation Your System Location sysContact [email protected]
修改 Cacti config 文件, password 部分修改成您先前設置的密碼:
sudo nano /usr/share/cacti/site/include/config.php $database_password = "password";
當您完成了這些修改,需要重新啓動 SNMPD 服務:
sudo service snmpd restart
Web配置
【一次性安裝】通過Web瀏覽器完成其餘的配置。打開Web瀏覽器,訪問你的服務器IP地址或域名,後面加上“/cacti”即可進入配置頁面:
mydomain.com/cacti
一開始你會看到一些關於 Cacti 的介紹信息,點擊下一步(NETX),再一次點擊下一步(NETX),會出現如下界面
這裏顯示了“指南”應用,Cacti 所使用操作的應用程序路徑。所有應用程序都應該是綠色的,並標有“[FOUND]”,點擊“完成(Finish)”繼續
接下來登陸管理系統,默認用戶名和密碼都是 admin,在您第一次輸入完成後,會提示修改並確認默認密碼,輸入完成後點擊保存“Save”即可進入管理界面
好,現在你已經進入了 Cacti 的管理界面:
常規配置
有幾個選項需要改變,以確保 Cacti 產生的數據正確。在左側導航面板中,點擊“設置(Setting)”下的配置標題。
在“常規(General)”選項卡中,我們要像下面這樣改變一些參數,完成後,點擊“保存(Save)”。
SNMP Version: Version 2 SNMP Community: secret
然後選擇 Poller 選項卡,修改如下配置,再保存:
Poller Type: spine Poller Interval: Every Minute
每當輪詢時間間隔發生變化,則必須清空緩存。要清空緩存,點擊左側“系統工具(System Utilities)”下 Rebuild poller cache 以清除緩存。
建立設備和圖
設備設置
要開始繪圖,我們需要建立設備配置文件,並告訴 Cacti 繪製什麼。在左側導航面板的標題下點擊“設備(Devices)”
首先,刪除 localhost 設備。點擊右側的複選框,確保已經勾選一個項目後,選擇“刪除(Delete)”,然後單擊“Go”。確認下面的頁面上刪除。在頁面的右上角,點擊“添加”按鈕來添加一個新的設備
現在,你需要填寫一些信息,描述你的設備。填寫以下字段。完成時,點擊“創建(Create)”
Description: Ubuntu Cacti Server Hostname: YourIPAddress Host Template: Local Linux Machine SNMP Version: Version 2 SNMP Community: secret
如果在頁面頂部有一個呈現紅色的SNMP錯誤,在服務器上打開一個終端,並重新啓動 snmpd 進程,再次點擊“保存”,它現在應該顯示正常了:
sudo service snmpd restart
圖形設置
接下來,向下滾動並創建一些相關的圖形模板和相關的數據查詢。根據相關的圖形模板,從下拉菜單中選擇“Unix – Ping Latency”,並單擊“添加(Add)”。您的選擇應符合如下圖所示
在相關的數據查詢部分(Associated Data Queries)完成相同的步驟,添加“SNMP – Get Mounted Partitions”, “SNMP – Get Processor Information”,和 “SNMP – Interface Statistics”.。全部添加完成後點擊保存。
然後在界面的右上角點擊 “爲主機創建圖像 (Create Graphs for this Host)”,選擇右側窗口中的淡藍色的副標題上選擇所有圖形。在頁面底部,點擊“創建 (Create)”。
在接下來的頁面中,你可以改變一些圖形選擇的顏色,然後單擊“創建 (Create)”,在頁面的頂部,單擊“圖形”選項卡。點擊最後一個標籤頁的右上角。
你的VPS將需要一段時間才能產生這些圖表中的值,直到有足夠的數據圖。這可能需要5分鐘到10分鐘,一開始你可能會看到一個空圖,有時,它會呈現一個破碎的圖像,這是正常的,你會在幾個小時之後獲得一些五顏六色的曲線圖:
點擊每個圖像,會顯示這個設備每天,每週,每月,每年的圖形: