距離上一次的文章,已經隔了將近快一個月的時間,差點就要荒廢了,剛好為了解決公司網路的問題,架了 Cacti來蒐集網路流量判斷問題,順便記錄一下。
# 安裝平台:
OS: CentOS 6.3 x86-64
AP: Cacti 0.8.8a
# 安裝步驟:
1. 安裝EPEL
#rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm
2. 安裝Apahce Server
#yum install httpd httpd-devel
3. 安裝MySQL Server
#yum install mysql mysql-server mysql-devel
4. 安裝PHP and PHP Modules
#yum install php php-mysql php-snmp php-ldap php-xml
5. 安裝RRDTool及相關套件
#yum install net-snmp net-snmpd-libs net-snmp-utils openssl-devel libtool libart_lgpl-devel zlib-devel libpng-devel freetype-devel dejavu-lgc-fonts cairo-devel libxml2-devel pango-devel pango freetype gcc gcc-c++
#yum install rrdtool
6. 設定SNMP
#vim /etc/snmp/snmpd.conf
#註解下列三行
#com2sec notConfigUser default public
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
#修改查詢功能
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.2 –> 設定可以抓取網卡資料
view all included .1 80 –> 提供所有SNMP資訊
#定義可以抓取資料的來源
#com2sec <USERNAME> <NETWORK_SOURCE> <COMM_STRING>
com2sec local localhost public –>預設值為public 建議變更,可避免其他來源抓取
com2sec mynetwork 172.16.0.0/16 public
#設定使用者群組
#group <GROUPNAME> <SNMP_VERSION> <USERNAME>
group MyRWGroup v1 localhost
group MyRWGroup v2c localhost
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
#設定存取權限,讓local可讀寫、mynetwork只能讀
#access <GROUPNAME> <CONTEXT> <SEC_MODEL> <SEC_LEVEL> <PREFIX> <READ> <WRITE> <NOTIF>
access MyROGroup “” any noauth exact all none none
access MyRWGroup “” any noauth exact all all all
#測試SNMP是否正常
#snmpd -f -Le –>查看當前的snmp有沒有出什麼錯
#service snmpd start
#snmpwalk -c public -v2c localhost –> 測試snmp是否正常
7. 啟動Apache, MySQL, SNMP服務,並設定開機自動啟動
#service httpd start
#service mysqld start
#service snmpd start
#chkconfig –level 235 httpd on
#chkconfig –level 235 mysqld on
#chkconfig –level 235 snmpd on
8. 安裝Spine for Cacti
#下載Spine及安裝
#cd /tmp
#wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz
#cd /usr/local/src
#tar -zxvf /tmp/cacti-spine-0.8.8a.tar.gz
#cd cacti-spine-0.8.8a
#./configure
#make
#make install
9. 安裝Cacti
#可到官網下載最新的版本,目前最新版本為cacti-0.8.8a
#cd /tmp
#wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
#tar -zxvf cacti-0.8.8a.tar.gz
mv cacti-0.8.8a /var/www/html/cacti
#建立Cacti使用者
#useradd -r -M cactiuser
#usermod -G cactiuser apache –>把apache加入倒cactiuser群組
#修改目錄權限
#chown -R root:root /var/www/html/cacti
#cd /var/www/html/cacti
#chown -R cactiuser:cactiuser rra/ log/
#設定MySQL
#mysqladmin -u root password NEW_PASSWORD
#mysql -u root -p –>輸入密碼後進入mysql下
mysql> CREATE DATABASE cacti;
mysql> GRANT ALL PRIVILEGES ON cacti.* TO cactiuser@localhost IDENTIFIED BY ‘cactipasswd’; –> 設定cacti資料庫所有權限給本機cactiuser,cactipasswd密碼可自行修改
mysql> FLUSH PRIVILEGES;
mysql> quit
#匯入cacti資料庫
#mysql -u cactiuser -p cacti < /var/www/html/cacti/cacti.sql
#修改cacit設定檔
#vim /var/www/html/cacti/include/config.php
$database_type = “mysql”;
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “cactiuser”; –> 修改為自行建立資料庫使用者帳號
$database_password = “cactipasswd”; –> 修改為自行建立資料庫的密碼
$database_port = “3306”;
$database_ssl = false;
$url_path = “/cacti/”; –> 如果cacti是安裝在http://serverip/cacti ,前方註解要拿掉
#設定排程,每5分鐘跑一次統計表
#crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
#接下來透過Web畫面進行設定
http://serviceip/cacti
點選下一步
接下來畫面沒有出現NOT FOUND的話,點選Finsh即可完成安裝
#Cacti 登入,預設密碼為admin/admin
#接者設定Cacti spine部分
#設定Spine連接資料庫帳號密碼
#cp /usr/local/spine/etc/spine.conf /etc/spine.conf
#vim /etc/spine.conf
DB_Host localhost
DB_Database cacti
DB_User cactiuser –> 設定cacti的資料庫使用者
DB_Pass cactipasswd –> 設定密碼
DB_Port 3306
DB_PreG 0
#再回到網頁設定spine 位置
[console] > [Settings] > [Paths] 頁面裡的Spine Poller File Path,輸入正確位置 /user/local/spine/bin/spine
#修改Cacti使用的Poller Type
[console] > [Settings] > [Poller] 頁面中的Poller Type,改為spine
以上Cacti安裝大致完成了