Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。
一、搭建安裝環境。
1、搭建環境
# yum install -y gcc gcc-c++ libart_lgpl-devel zlib-devel libpng-devel freetype-devel
二、安裝軟件包,修改配置文件。
1、需要的軟件包:(儘量使用yum安裝)
# yum install -y httpd php php-mysql php-ldap php-xml php-common php-pdo mysql-connector-odbc
mysql mysql-server net-snmp net-snmp-utils lm_sensors
2、安裝rrdtool(rrdtool在關盤中沒有,需要下載源碼包)
# tar zxf rrdtool-1.2.27.tar.gz -C /usr/src/
# cd /usr/src/rrdtool-x.x.x
# ./configure --prefix=/usr/local
# make && make install
3、修改配置文件 允許制定的主機監聽自己。
允許192.168.5.12監聽自己,監聽端口爲80
# vim /etc/snmp/snmpd.conf
41 com2sec notConfigUser 192.168.5.12 public
62 access notConfigGroup "" any noauth exact all none none
85 view all included .1 80 (把前面的#去掉)
4、啓動服務
# service mysqld start
# service httpd start
# service snmpd start
# chkconfig snmpd on
5、安裝cacti。
# tar zxf cacti-0.8.7g.tar.gz
# mv cacti-0.8.7g /var/www/html/cacti
# cd /var/www/html/cacti
6、創建cacti用戶,更改組件文件夾的權限
# useradd cactiuser
# chown -R cactiuser.cactiuser rra/ log/
7、創建庫,創建mysql用戶密碼,導入組件數據表格。
# mysql -uroot -p (密碼是空的直接回車就OK了)
mysql> create database cactidb default character set utf8;
mysql> grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'cacti';
mysql> \q
導入cacti數據庫的表
#mysql -ucactiuser -pcacti cactidb < cacti.sql
8、更改php配置文件
# vim /var/www/html/cacti/include/config.php
<?php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
$database_port = "3306";
$config['url_path'] = "/";
?>
9、更改httpd服務配置並重啓服務。
# vim /etc/httpd/conf/httpd.conf
134 Listen 80
281 DocumentRoot "/var/www/html/cacti"
306 <Directory "/var/www/html/cacti">
320 Options None
327 AllowOverride None
332 Order allow,deny
333 Allow from all
335 </Directory>
391 DirectoryIndex index.html index.php
747 AddDefaultCharset UTF-8
#service httpd restart
三、登陸cacti,產生數據。
1、登陸頁面,根據嚮導完成安裝,登陸的用戶名和密碼都是admin,登陸成功後,cacti強制更新密碼
http://192.168.10.11/install (此處ip爲本機ip)
2、添加主機將主機加入圖形樹
在web頁上點擊devices,刪除原有的localhost,點擊右側的add
添加新的主機。HOST template用ucd/net snmp host
Associated Data Queries添加以下的數據
SNMP - Get Mounted Partitions
SNMP - Get Processor Information
SNMP - Interface Statistics
保存save後,找到頁面最上面的Create Graphs for this Host
把主機加入到圖形樹中
點擊左側的graph tree->default tree->點擊右側的add
tree item type選擇host,然後點擊create
3、產生數據
[root@localhost ~]# su - cactiuser
[runct@localhost ~]$ php /var/www/html/cacti/poller.php
[runct@localhost ~]$ crontab -e
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null
[runct@localhost ~]$ exit
[root@localhost ~]# service crond restart
隔幾分鐘後,再點擊web頁的graph按鈕就可以看到圖形了
四、安裝其他插件框架
1、安裝plugin
# tar zxf cacti-plugin-0.8.7g-PA-v2.9.tar.gz
# mv cacti-plugin-arch /var/www/html/cacti
# cd /var/www/html/cacti
# patch -p1 -N < cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.9.diff
# mysql -ucactiuser -pcacti cactidb < ./cacti-plugin-arch/pa.sql
# vim include/global.php 改用戶名等
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
$database_port = "3306";
# vim include/config.php 改訪問路徑
$config['url_path']="/cacti/";
$url_path = "/cacti/";
# service httpd restart
# service mysqld restart
WEB頁面中左側的用戶管理(user management)->admin用戶的權限(下面的realm permisson)加入PA
2、安裝monitor、settings、thold插件
monitor:通過簡單明瞭的圖標提供服務器的運行狀態
settings:給不同的插件提供一些共用的信息,如郵件信息,dns信息。
thold :提供設備異常預警。
直接把三個包解壓到cacti/plugin目錄
# tar zxf settings-v0.71-1.tgz
# tar zxf thold-v0.4.9-3.tgz
# tar zxf monitor-v1.3-1.tgz
# mv settings monitor thold /var/www/html/cacti/plugins
WEB頁面上可以直接查看到三個插件(在左側plugin management),點擊安裝並啓用
點擊settings中的MISC設置監控圖標及分組
點擊settings中的mail/dns設置收發郵件地址
點擊settings中的thold設置郵件內容
3、搭建電子郵件系統
sendmail配置
# yum -y install sendmail-cf
# cd /etc/mail
# vim sendmail.mc
把裏面的127.0.0.1換成0.0.0.0
# m4 sendmail.mc > sendmail.cf
# echo localhost >> local-host-names
------------------------------------------------------------------------------------------
第一次寫博客,如有不足之處請給位多多指點。歡迎吐槽。