用 Cacti 來監控你的系統 – Nginx + Cacti Server 安裝 Round1

2015-05-22 Cacti

前篇有用 Apache 安裝過 cacti 這套監控流量軟體,這次要改用 Nginx + cacti 來安裝

將文章重新整理一次

 

示範環境:

CentOS 6.6 64bit

Nginx + php-fpm + Mysql

Cacti + rrdtool + SNMP

 

 

Cacti Server install 

step1. 安裝建置所需套件

$ yum install net-snmp-devel net-snmp net-snmp-libs net-snmp-utils rrdtool mysql-server php php-fpm php-mysql freetype-devel libpng-devel libart_lgpl-devel

 

step2. 安裝 Nginx (要有 EPEL)

$ yum install nginx --enablerepo=epel

 

step3. 下載 cacti 0.8.8c 版本

$ wget http://www.cacti.net/downloads/cacti-0.8.8c.tar.gz
$ wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8c.tar.gz
$ tar zxvf cacti-0.8.8c.tar.gz -C /var/www/html
$ mv /var/www/html/cacti-0.8.8c /var/www/html/cacti
$ tar cacti-spine-0.8.8c.tar.gz -C /usr/local/src

 

step4. 更改 cacti 權限

這邊若修改有誤,會讓 poller.php 執行的時候無法產出 rrd 跟 log,在 UI 上就不會有數據

$ chown -R nginx.nginx /var/www/html/cacti
$ chmod 777 -R /var/www/html/cacti/rra /var/www/html/cacti/log

 

step5. 建立 cacti 資料庫

$ service mysqld start

mysql 安全性設置
$ mysql_secure_installation

建立資料庫
$ mysqladmin -u root -p create cacti
$ mysql -u root -p -A cacti < /var/www/html/cacti/cacti.sql
$ mysql -u root -p
mysql> grant all on cacti.* to cacti_USER@localhost identified by "cacti_PWD";
mysql> flush privileges;

 

step6. 修改 cacti 設定檔

$ vim /var/www/html/cacti/include/config.php

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti_USER";
$database_password = "cacti_PWD";
$database_port = "3306";
$database_ssl = false;

$url_path = "/";

在 url_path 這邊要非常注意,若是沒有設定所有的 url 會自動加上 /cacti 為虛擬目錄

若是你想要跟小弟一樣直接打上 DomainName 就可以連的話就必須加上 $url_path = “/”;

 

step7. 加入 crontab 讓 cacti 定時 5 分鐘去撈 Client 資料

cacti 必須要有權限寫入 /var/www/html/cacti/rrd , log

$ adduser cacti -M
$ vim /etc/crontab

*/5 * * * * cacti /usr/bin/php /var/www/html/cacti/poller.php > /dev/null

 

 

step8. 設定 php-fpm

$ vim /etc/php-fpm.d/www.conf

listen = /var/run/php-fpm/cacti.socket
user = nginx
group = nginx

讓 php 有寫入session的權限,預設權限是 root.apache
$ chown -R root.nginx /var/lib/php/session

 

step9. 設定 Nginx

$ vim /etc/nginx/conf.d/cacti.conf

server{
        listen       80;
        server_name  cacti.twbbs.org;
        location / {
                root   /var/www/html/cacti;
                index  index.php index.html index.htm;
        }

        location ~ \.php$ {
                root   /usr/share/nginx/html/cacti;
                fastcgi_pass   unix:/var/run/php-fpm/cacti.socket;
                fastcgi_index  index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
}

 

step10. 啟動服務

$ service php-fpm start
$ service nginx start
$ chkconfig php-fpm on
$ chkconfig nginx on

 

step11. 開啟網頁測試是否可正常瀏覽 cacti

 

http://cacti.twbbs.org/install

第一次通常會引導到 install 頁面,並且確認每個項目的檔案都是 【OK: FILE FOUND】

 

 

Debug:

Q1: 可以看到 install 頁面,但所有的 css, js 等圖片都破圖?

Ans: 這是因為 step6 的 url_path 沒有設定好,導致抓不到風格檔案,到 nginx log 可查看到錯誤路徑為 /var/www/html/cacti/cacti/image/button_go.gif 多了一層 cacti

請設定為 $url_path = “/”;

 

Q2: cacti 抓不到流量資料,顯示 nan

Ans: 若是剛建立必須要等 poller.php 每5分鐘執行後才會有數據,若等待時間過後還是沒有,請確認 rrd , log 權限是否 cacti 可以寫入。

 

 

 

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱