1、cacti概述
Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。它通過snmpget來獲取數據,使用RRDtool繪畫圖形,而且你完全可以不需要了解RRDtool複雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善,界面友好。
Cacti是基於讓 RRDTool 使用者更方便使用該軟件,除了基本的 Snmp 流量跟系統資訊監控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖
二、Cacti的架構及工作流程
cacti架構
cacti流程
Cacti 程序必須依靠LAMP架構運行的一套軟件,這裏我就不寫安裝lamp的詳細步驟了。具體的可以參看http://huangkun.blog.51cto.com/190289/35571黃老師寫的LAMP安裝,這裏寫的很詳細。(博客裏面還有很多都寫的很詳細)。推薦是源碼包安裝
3、環境
Linux AS 5 ip:192.168.2.154
所需軟件
軟件名 |
作用 |
下載地址 |
Rrdtoot |
繪圖 |
http://oss.oetiker.ch/rrdtool/ |
Net-snmp |
定時採集數據,存儲數據 |
|
Cacti |
主程序 |
軟件下載完後,通過ssh或者其他的軟件上傳到服務器上。
4、安裝
1、rrdtool 軟件的安裝
#tar -zxvf rrdtool-1.2.26.tar.gz
#cd rrdtool-1.2.26
#/configure --prefix=/usr/local/rrdtool
#mae&&make install
#cd rrdtool-1.2.26
#/configure --prefix=/usr/local/rrdtool
#mae&&make install
#完成後建立符號連接 ,下面安裝cacti時需要裏面的命令
#ln –s /usr/local/rrdtool/bin/* /usr/local/bin/
#ln –s /usr/local/rrdtool/bin/* /usr/local/bin/
2.安裝net-snmp
RedHat默認安裝了SNMP服務,但好象沒有snmpwalk,snmpget這兩個命令,所以需要編譯安裝NET-SNMP。
# tar zxvf net-snmp-5.3.3.tar.gz
#cd net-snmp-5.3.3
#./configure --prefix=/usr/local/snmp --enable-developer
#make
#make install
#cd net-snmp-5.3.3
#./configure --prefix=/usr/local/snmp --enable-developer
#make
#make install
#完成後建立符號連接 ,下面安裝cacti時需要裏面的命令
# ln –s /usr/local/snmp/bin/* /usr/local/bin/
#cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf #cp 配置文件到相應的目錄這裏需要修改snmpd.conf中 COMMUNITY、允許抓取snmp數據的主機、抓取數據範圍等
# sec.name source community
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY
#/usr/local/snmp/sbin/snmpd #啓動SNMP服務
#ps -ef|grep snmp #查看服務是否啓動
#echo "/usr/local/snmp/sbin/snmpd" >> /etc/rc.local
#ps -ef|grep snmp #查看服務是否啓動
#echo "/usr/local/snmp/sbin/snmpd" >> /etc/rc.local
#在rc.local上加入一行/usr/local/net-snmp/sbin/snmpd,系統啓動時啓動SNMP服務。
3.安裝cacti主程序
a、首先先對mysql 做更改
# mysql -u root –p #進入mysql
Enter password:#輸入密碼
mysql> create database cacti; #創建cacti所用的數據庫
Query OK, 1 row affected (0.05 sec)
mysql> grant all on cacti.* to cacti@localhost identified by '123456'; #創建cacti連接mysql 所用的用戶名;
Query OK, 0 rows affected (0.09 sec)
mysql> flush privileges; #刷新權限
Query OK, 0 rows affected (0.00 sec)
mysql> exit #退出
Enter password:#輸入密碼
mysql> create database cacti; #創建cacti所用的數據庫
Query OK, 1 row affected (0.05 sec)
mysql> grant all on cacti.* to cacti@localhost identified by '123456'; #創建cacti連接mysql 所用的用戶名;
Query OK, 0 rows affected (0.09 sec)
mysql> flush privileges; #刷新權限
Query OK, 0 rows affected (0.00 sec)
mysql> exit #退出
mysql到這裏已經更改完成
b、安裝cacti
#tar -zxvf cacti-0.8.7e.tar.gz
#cp -r cacti-0.8.7e /www/cacti
#cp -r cacti-0.8.7e /www/cacti
#cp cacti程序到apache目錄下,把cacti目錄下自帶的一個sql文件導入到剛剛建立的cacti數據庫中,創建所用的表以及所用數據
#cd /www/cacti/
# mysql -u root -p cacti < cacti.sql
# mysql -u root -p cacti < cacti.sql
修改cacti的配置文件,連接數據庫。需要更改的地方貼了出來
#vi /www/cacti/include/config.php
$database_type = "mysql"; #數據庫類型
$database_default = "cacti"; #數據庫名
$database_hostname = "localhost"; #主機名
$database_username = "cacti"; #數據庫用戶名
$database_password = "123456"; #密碼
$database_type = "mysql"; #數據庫類型
$database_default = "cacti"; #數據庫名
$database_hostname = "localhost"; #主機名
$database_username = "cacti"; #數據庫用戶名
$database_password = "123456"; #密碼
添加cacti用戶,用於運行poller.php文件,首次執行poller.php時請使用cacti用戶,否則生成的rrd文件cacti將沒有寫入權限
# useradd cacti
# chown –R cacti /www/cacti/rra #將rra目錄的所有權給cacti用戶
# chgrp –R cacti /www/cacti #修改cacti目錄所屬組
# chown –R cacti /www/cacti/rra #將rra目錄的所有權給cacti用戶
# chgrp –R cacti /www/cacti #修改cacti目錄所屬組
爲cacti用戶添加cron任務
# su – cacti
# crontab –e
*/5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
# crontab –e
*/5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
保存退出
5、完成cacti的安裝
在瀏覽器輸入ip地址http://192.168.2.154訪問 默認的用戶名爲admin、密碼問admin 第一次登錄提示讓更改密碼在瀏覽器中輸入地址之後會看到一些協議,點擊“next”繼續,讓選擇全新安裝或者是更新我以前沒有在此服務器上安裝過,這裏選擇全新安裝,點擊“next”繼續,
這裏是cacti所用到的命令路徑,如果沒有做就是紅色顯示,點擊“finish”完成出現下圖輸入用戶名admin 密碼admin 繼續
點擊login 登錄之後會提示更改密碼,輸入新的密碼確認確認之後進入主界面如下圖所示
到這裏就安裝完成了。可以根據自己需要添加需要監控服務。