大綱php
1、cacti簡述html
2、配置nginx、php、mysqlmysql
3、cacti + spine 搭建nginx
1、簡述web
Cacti基於SNMP採集數據源,經過rrdtool儲存數據並繪圖呈現給用戶。SNMP獲取的數據源爲.rrd文件,存儲在cacti目錄下的rra目錄。sql
工做流程如圖:數據庫
2、配置nginx、php、mysql(忽略LNMP環境部署過程)vim
1.配置nginx瀏覽器
#在nginx中加入一個server [root@jpushoa_6.213 cacti-spine-0.8.8h]$vim /usr/local/nginx/conf/nginx.conf server { listen 8888; access_log log/access_catic.log main; location / { index index.html index.php; root /usr/local/cacti/; } location ~.*\.(php|php5)?$ { root /usr/local/cacti/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/cacti/$fastcgi_script_name; include fastcgi_params; } location = /favicon.ico { log_not_found off; access_log off; } } #添加完成後,測試配置文件語法是否正常 [root@jpushoa_6.213 cacti-spine-0.8.8h]$/usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #建立cacti日誌文件 [root@jpushoa_6.213 cacti-spine-0.8.8h]$touch /usr/local/nginx/log/access_cacti.log #更改nginx及子目錄的屬主屬組 [root@jpushoa_6.213 cacti-spine-0.8.8h]$chown -R nginx.nginx /usr/local/nginx/ #啓動nginx [root@jpushoa_6.213 cacti-spine-0.8.8h]$/usr/local/nginx/sbin/nginx #查看nginx啓動的端口 [root@jpushoa_6.213 cacti-spine-0.8.8h]$netstat -ntlp | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 29641/nginx tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 29641/nginx
2.配置php:bash
#更改php.ini時區 [root@jpushoa_6.213 cacti-spine-0.8.8h]$vim /etc/php.ini date.timezone =Asia/Shanghai #更改php-fpm的屬主屬組 [root@jpushoa_6.213 conf]$vim /etc/php-fpm.d/www.conf user = nginx group = nginx #啓動php-fpm並查看其端口狀態 [root@jpushoa_6.213 conf]$service php-fpm start Starting php-fpm: [ OK ] [root@jpushoa_6.213 conf]$netstat -ntlp | grep php tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3773/php-fpm #新建session目錄並更改目錄屬主屬組及權限(/etc/php-fpm.d/www.conf中有定義session路徑) [root@jpushoa_6.213 local]$mkdir -p /var/lib/php/session [root@jpushoa_6.213 local]$chown nginx.nginx /var/lib/php/session [root@jpushoa_6.213 local]$chmod -R 770 /var/lib/php/session
3.建立並導入cacti數據庫及用戶密碼受權
mysql> create database cacti; mysql> use cacti; mysql> \. /usr/local/cacti/cacti.sql mysql> create user 'cactiuser'@'192.168.%.%' identified by 'cactipasswd'; mysql> grant all on cacti.* to 'cactiuser'@'192.168.%.%' identified by 'cactipasswd'; mysql> flush privileges;
3、cacti+spine搭建
#1.安裝snmp [root@jpushoa_6.213 ~]$yum -y install net-snmp net-snmp-utils net-snmp-devel #更改團體名和ObjectID(團體名可保持默認): [root@cacti ~]# vim /etc/snmp/snmpd.conf #修改前一: com2sec notConfigUser default public #修改後一: com2sec notConfigUser default TEST #修改前二: view systemview included .1.3.6.1.2.1.1 #修改後二: view systemview included .1 #啓動snmpd服務: [root@jpushoa_6.213 ~]$service snmpd start Starting snmpd: [ OK ] #SNMP數據採集測試: [root@jpushoa_6.213 ~]$snmpnetstat -v 2c -c TEST -Cna -Cp tcp 127.0.0.1 Active Internet (tcp) Connections (including servers) Proto Local Address Remote Address (state) tcp *.22 *.* LISTEN tcp *.80 *.* LISTEN tcp *.111 *.* LISTEN tcp *.23177 *.* LISTEN tcp 127.0.0.1.199 *.* LISTEN tcp 192.168.6.213.22 192.168.4.95.50605 ESTABLISHED tcp 192.168.6.213.22 192.168.4.95.55708 ESTABLISHED
#2.安裝rrdtool: [root@jpushoa_6.213 ~]$yum -y install rrdtool rrdtool-devel
#3.安裝cacti [root@jpushoa_6.213 data]$wget http://www.cacti.net/downloads/cacti-0.8.8h.tar.gz [root@jpushoa_6.213 ~]$tar zxvf cacti-0.8.8h.tar.gz -C /usr/local/ [root@jpushoa_6.213 ~]$cd /usr/local/ [root@jpushoa_6.213 local]$mv cacti-0.8.8h/ cacti / [root@jpushoa_6.213 local]$chown -R nginx.nginx cacti/ #修改cacti配置文件: [root@jpushoa_6.213 local]$vim cacti/include/config.php $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "192.168.6.213"; $database_username = "cactiuser"; $database_password = "cactipasswd"; $database_port = "3306"; $database_ssl = false;
#4.安裝spine [root@jpushoa_6.213]$wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8h.tar.gz [root@jpushoa_6.213 ~]$tar zxvf cacti-spine-0.8.8h.tar.gz [root@jpushoa_6.213 cacti-spine-0.8.8h]$./configure --prefix=/usr/local/spine/ [root@jpushoa_6.213 cacti-spine-0.8.8h]$make && make install [root@jpushoa_6.213 cacti-spine-0.8.8h]$chown -R nginx.nginx /usr/local/spine/ [root@jpushoa_6.213 cacti-spine-0.8.8h]$cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf #修改spine配置文件: [root@jpushoa_6.213 cacti-spine-0.8.8h]$vim /usr/local/spine/etc/spine.conf DB_Host 192.168.6.213 DB_Database cacti DB_User cactiuser DB_Pass cactipasswd DB_Port 3306 #測試spine是否安裝成功: [root@jpushoa_6.213 local]$spine/bin/spine -C spine/etc/spine.conf SPINE: Using spine config file [spine/etc/spine.conf] SPINE: Version 0.8.8h starting SPINE: Time: 0.1398 s, Threads: 5, Hosts: 2
#5.cacti每分鐘拉取數據交付rrdtool繪圖。 [root@jpushoa_6.213 local]$crontab -unginx -l */1 * * * * /usr/bin/php /usr/local/cacti/poller.php &> /dev/null #獲取數據測試: [root@jpushoa_6.213 ~]$su nginx [nginx@jpushoa_6.213 root]$php /usr/local/cacti/poller.php --force OK u:0.00 s:0.01 r:0.11 OK u:0.00 s:0.01 r:0.15 OK u:0.00 s:0.01 r:0.18 OK u:0.00 s:0.01 r:0.23 OK u:0.00 s:0.01 r:0.30 05/17/2016 02:05:57 PM - SYSTEM STATS: Time:0.4624 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:5
#6.web界面配置篇 #a.打開瀏覽器,輸入cacti服務器IP地址及端口(默認80,無需輸入),進入安裝界面,以下圖,點擊Next:
#b.根據實際狀況選擇安裝或升級,咱們是全新安裝,故選擇Nex Install,而後Next:
#c.檢查全部路徑配置,配置正確會提示OK,用綠色字體標出;通常無需更改,咱們直接Finish:
#d.提示用戶名密碼,默認都爲admin。輸入後點擊Login:
#e.此時會提示強制更改密碼,輸入新密碼後Save,即登錄cacti管理界面
#f.進入「console-configuration-settings-General「,找到SNMP Defaults,更改SNMP Version 爲Version 2;更改SNMP Community爲你設置的團體名,默認爲public。
#g.進入「console-configuration-settings-Pathes「下,找到Alternate Poller Path,在Spine Poller File Path後填入你安裝spine時的路徑並保存,正常則會提示"OK:FILE FOUND"
#h.進入「console-configuration-settings-Poller」,更改Poller Type爲spine(默認爲cmd.php),修改Poller Interval、Cron Interval爲你設置的任務計劃時間並保存。
#i.到此,cacti安裝已完成。cacti默認有把本機加入監控,可查看圖形顯示效果。點擊管理界面最左上角的「graphs-Default Tree-Host:Localhost":