參考:http://www.javashuo.com/article/p-svazfvvg-e.htmlphp
1、cacti概述html
1. cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,而後用rrdtool儲存和更新數據,當用戶須要查看數據的時候用rrdtool生成圖表呈現給用戶。所以,snmp和rrdtool是cacti的關鍵。Snmp關係着數據的收集,rrdtool關係着數據存儲和圖表的生成。mysql
2. Mysql配合PHP程序存儲一些變量數據並對變量數據進行調用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量。sql
3. snmp抓到數據不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數據的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(Round Robin Archive),它可以存儲的數據筆數在建立時就已經定義。數據庫
1> 配置LAMP環境apache
2> 安裝rrdtool和net-snmpvim
3> 安裝cacti瀏覽器
4>配置cacti服務器
5> 配置cacti鏈接數據庫app
6 >配置cron計劃任務
7 >配置開機自啓動
8>測試
1> 配置LAMP環境
a. 安裝apache
這裏直接用yum裝了
yum -y install httpd
c. 配置apache與php
yum -y install zlib freetype libjpeg fontconfig gd libxml2 php-gd
yum -y install php php-mysql
b.安裝mysql數據庫
yum -y install mysql mysql-server mysql-devel
2> 安裝rrdtool和net-snmp
yum -y install perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL
yum -y install php-pdo lm_sensors net-snmp php-snmp net-snmp-utils
3. 安裝cacti
下載cacti
wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz
tar -zxvf cacti-0.8.8f.tar.gz -C /usr/src/ 解壓到指定目錄
mv cacti-0.8.8f /var/www/html/cacti/ //將解壓的cacti這個包移動到網頁根目錄下,更名爲cacti
4> 配置cacti
a. 配置httpd服務
vim /etc/httpd/conf.d/cacti.conf
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
DirectoryIndex index.php
AllowOverride all
order deny,allow
deny from all
allow from all
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc on
php_flag track_vars on
</Directory>
b.配置apache
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/
vim /etc/httpd/conf/httpd.conf 配置apache
276行ServerName localhost:80
c.配置php
vim /etc/php.ini
946行date.timezone = PRC
開啓服務
d. 配置 mysql並導入 cacti.sql
service mysqld start (開啓服務)
create database cacti;
grant all on cacti.* to cacti@'localhost' identified by 'cacti';
GRANT 權限列表 ON 庫名.表名 TO ‘用戶名’@‘來源地址’【IDENTFIED BY ‘密碼’】
flush privileges;
導入數據庫
use cacti;
source /var/www/html/cacti/cacti.sql;
完成
e. 配置snmpd服務
vim /etc/snmp/snmpd.conf
41 行om2sec notConfigUser 127.0.0.1 public//地址本身服務器的地址,也可用127.0.0.1來表示的,後面的"public"
表示的是snmp 團體名,也能夠改的,默認的就是「public」
62行access notConfigGroup "" any noauth exact all none none//把"exact"後面的單詞改爲"all"
85 行view all included .1 80//把這一行前面的"#"號去掉
開啓服務
f.配置cacti目錄權限
useradd cacti -d /var/www/html/cacti -s /sbin/nologin
chown -R root:root /var/www/html/cacti/
chown -R cacti:cacti /var/www/html/cacti/rra /var/www/html/cacti/log
5> 配置cacti鏈接數據庫
vim /var/www/html/cacti/include/config.php
29行 $database_username = "cacti";
30行$database_password = "cacti"
6 >配置cron計劃任務
crontab -u cacti –e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &>/dev/null
每5分鐘 運行一次
7> 配置完成,設置服務開機自啓動
chkconfig httpd 35 on
chkconfig mysqld 35 on
systemctl enable snmpd
8>開始測試
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
客戶端IE瀏覽器中輸入網址:http://IP/cacti/
默認用戶名和密碼都是admin
集中監測完成!