Cacti 是一套基於PHP、mysql、rrdtool開發的網絡流量監測圖形分析工具。
cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,然後用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。
snmp關係着數據的收集,rrdtool關係着數據存儲和圖表的生成。
mysql配合php程序存儲一些變量數據並對變量數據進行調用。
實驗環境:rhel6.5版本虛擬機,selinux、iptables disabled,IP 172.25.21.11
下載包:cacti-0.8.8h.tar.gz
php-snmp-5.3.3-26.el6.x86_64.rpm
tar zxf cacti-0.8.8h.tar.gz
cd cacti-0.8.8h
cd docs
根據文檔需要搭建lnmp
yum install httpd php php-mysql mysql-server -y
yum install rrdtool -y ##安裝rrd繪圖工具
mv cacti-0.8.8h /var/www/htm
ln -s cacti-0.8.8h cacti ##創建個連接,方便操作
/etc/init.d/mysqld start
mysql_secure_installation ##對數據庫進行初始化,給用戶設置密碼
mysqladmin -pwestos create cacti ##創建數據庫cacti
cd /var/www/html/cacti
mysql -pwestos cacti < cacti.sql ###將cacti數據導入cacti庫中
mysql -pwestos -e "grant all on cacti.* to lzk@localhost identified by 'westos';" ###設置用戶lzk對數據庫cacti的權限,密碼爲westos
cd include/
vim config.php
修改用戶名和密碼,打開path和session
/etc/init.d/httpd start ##開啓apache服務
瀏覽器訪問 172.25.21.11/cacti
當出現這個頁面是,需要 yum install net-snmp-utils -y
再次刷新頁面,進行登陸,初始的登陸用戶和密碼都默認爲admin,第一次登陸系統會強制修改密碼。 cacti 目錄中的文件的uid和gid都爲1000
創建用戶 useradd -u 1000 -M -d /var/www/html/cacti cacti
su - cacti ###切到cacti用戶
crontab -e ##創建任務
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1 ###設置監控的更新時間,這裏設爲5分鐘更新一次。
該操作實現了對本地的監控,瀏覽器測試效果:
上述實驗實現了對本地的監控,以下是對其他服務器的監控實驗。
實驗操作:準備一臺服務器,我的物理機是rhel7.0版本
IP 172.25.21.250 foundation21.ilt.example.com
yum install net-snmp -y
systemctl start snmpd
cd /etc/snmpd
vim snmpd.conf
修改配置文件
systemctl restart snmpd
在監控主機上可以監控物理機的信息
在瀏覽器選擇Devices —> add
選擇New Graphs —> add
選擇Graph Trees —> add
創建完後等待監控刷新,出現監控界面:
選擇 spine 是爲了加快速度, cmd.php 是一個 php 寫的調度程序,而 spine是 用 C 寫 的 , spine 的 性 能 遠 遠 優 於 cmd.php , 當 監 控 的 設 備 有 很 多 時 cmd.php 的性能就跟不上了,只能用 spine 來調度,因此選擇spine。
安裝spine
tar zxf cacti-spine-0.8.8h.tar.gz
yum install gcc net-snmp-devel mysql-devel openssl-devel -y
yum install dos2unix autoconf automake binutils libtool gcc cpp glibc-heahders kernel-headers glibc-devel -y
cd cacti-spine-0.8.8h
sh bootstrap
./configure
make && make install
cp /usr/local/spine/spine.conf.dist /etc/spine.conf
vim /etc/spine.conf
su - cacti
執行該命令沒報錯後
瀏覽器選擇 setting —> paths
然後選擇polls
安裝監控插件
下載安裝包:monitor-v1.3-1.tgz
在監控主機上:tar zxf monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins
瀏覽器選擇Plugin Management
將插件下載並且打開