CentOS6.8安裝Cacti0.8.7g

CentOS6 支持Cacti0.8.7g及以下版本。

CenOS7支持Cacti0.8.8及以上版本。請按照版本安裝不然出錯的概率將大大提高。

目錄

Cacti簡介

配置Cacti

插件配置

cacti-plugin

settings

monitor

threshold/thold

weathermap

cacti-plugin安裝

settings安裝和使用

monitor安裝和使用

thold的安裝和使用

weathermap的安裝和使用


Cacti簡介

本章結構

常見平臺

常見的服務器監控軟件

cacti,流量與性能監測爲主----http://www.cacti.net/

nagios,服務與性能監測爲主---http://www.nagios.org/

其他相關工具

RRDtool,輪詢數據工具

SNMP原理

類別

標號

所包含的信息

system

(1)

主機或路由器的操作系統

interfaces

(2)

各種網絡接口及它們的測定通信量

address transiation

(3)

地址轉換(例如ARP映射)

ip

(4)

internet軟件(IP分組統計)

icmp

(5)

ICMP軟件(已收到ICMP消息的統計)

tcp

(6)

TCP軟件(算法、參數和統計)

udp

(7)

UDP軟件(UDP通信量統計)

egp

(8)

EGP軟件(外部網關協議通信量統計)

cacti的工作結構

C/S模式,採集監控數據

B/S模式,管理監測平臺

環境部署

環境:主機A和主機B的操作系統爲CentOS6.6 x86_64,最小化安裝,均關閉SELINUX和防火牆,主機A作爲監控端,主機B作爲被進口歐冠端,IP地址分別爲192.168.131.138和192。168.131.139。

配置Cacti

部署cacti運行環境

# yum -y install httpd mysql mysql-server mysql-devel php php-mysql

# yum -y install zlib freetype libjpeg fontconfig libxml2 gd php-gd

# yum -y install rrdtool

# yum -y install net-snmp net-snmp-utils

# service httpd start

# chkconfig httpd on

# service mysqld start

# chkconfig mysqld on

# service snmpd start

# chkconfig snmpd on

安裝cacti

#wget https://cacti.net/downloads/cacti-0.8.7g.tar.gz

# tar xf cacti-0.8.7g.tar.gz -C /var/www/html/

# cd /var/www/html/

# mv cacti-0.8.7g/ cacti

# vim cacti/include/config.php

# mysql

mysql> create database cacti;        //創建數據庫cacti

mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by '123456';    //授權用戶cactiuser@localhost對數據庫cacti的所有權限及密碼

mysql> flush privileges;         //刷新緩存,刷新權限。

mysql>use cacti;                //變更數據庫

mysql>source /var/www/html/cacti/cacti.sql;    //導入cacti數據庫文件

mysql> exit

*【重要提示】如果用yum安裝mysql可能會更新到mariadb 5.5以上版本,導入cacti.sql會報錯誤。

請使用

# cd /var/www/html/cacti/

# mysql -u cactiuser -p cacti < cacti.sql

Enter password:   //輸入密碼

來導入表。

如果導入時出現ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 9的錯誤,原因:cacti.sql文件是在MySQL5.0或5.1編寫的。如果在5.5和5.6上面導入會報錯。 解決方法:

1、用vim打開cacti.sql;

2、用命令   :%s/TYPE=MyISAM/ENGINE=MyISAM/g

批量查找替換,將數據庫文件內的所有TYPE=MyISAM修改爲ENGINE=MyISAM,保存退出;

3、重新導入cacti.sql即可。

# chown -R root:root /var/www/html/cacti/

# useradd cacti

# chown -R cacti:cacti /var/www/html/cacti/log/

# chown -R cacti:cacti /var/www/html/cacti/rra/

# mysql cacti

在瀏覽器輸入http://192.168.131.138/cacti/install/,進入cacti安裝嚮導

配置被監控端

# yum install –y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl

# vim /etc/snmp/snmpd.conf

com2sec notConfigUser 192.168.131.138 public123

access notConfigGroup "" any noauth exact all none none

view all included .1 80

# service snmpd start

配置服務器端

# vim /etc/snmp/snmpd.conf

# service snmpd restart

配置監控

在cacti web界面

點擊"Devices"à"add"

添加圖像樹

監控端操作

# /usr/bin/php  /var/www/html/cacti/poller.php #開始同步數據

# crontab –e

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

設置crond任務,使其每隔5分鐘執行一次

# chkconfig crond on

圖像顯示出來了

 安裝Spine(輪循方式比cmd.php更快)

cd /usr/src/

wget https://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz

tar zxf cacti-spine-0.8.7g.tar.gz

cd cacti-spine-0.8.7g

./configure

make

make install

修改配置文件

cp  /usr/local/spine/etc/spine.conf.dist  /etc/spine.conf

vi /etc/spine.conf

DB_Host         localhost

DB_Database     cacti

DB_User         cactiuser

DB_Pass         cactiuser    ###修改密碼

DB_Port         3306

DB_PreG         0

測試是否正常

/usr/local/spine/bin/spine

SPINE: Using spine config file [../etc/spine.conf]
SPINE: Version 0.8.8a starting
SPINE: Time: 3.8489 s, Threads: 4, Hosts: 21

更改頁面輪詢方式爲spine

console>>settings>>poller>>poller type更換爲spine然後保存。

在cacti裏設置spine路徑
Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path

/usr/local/spine/bin/spine

出錯 :
全部完成後發現沒有圖形了,也沒有數據,查看cacti的日誌如下:

2017-02-16 14:33:01 - POLLER: Poller[1] ERROR: The path: /usr/local/spine/bin/spine  is invalid.  Can not continue

2017-02-16 14:34:01 - POLLER: Poller[1] ERROR: The path: /usr/local/spine/bin/spine  is invalid.  Can not continue

分析:
1.檢查路徑是否寫錯
2.spine 是否有可執行權限
3.在系統裏單獨運行下 spine 看是否有問題(一切正常,如下)
      [root@bogon cacti]# /usr/local/spine/bin/spine
     SPINE: Using spine config file [/etc/spine.conf]
     SPINE: Version 1.0.1 starting
     SPINE: Time: 0.3066 s, Threads: 4, Devices: 5
4.最終原因:
      cacti是使用 poller.php 調用 spine的,這裏問題是poller.php 無法調用spine(無法訪問spine所在的目錄)
將spine程序複製到 poller.php文件的同目錄
         cp spine /var/www/html/cacti/spine

再將Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
改爲/var/www/html/cacti/spine  即可
注意其配置文件也要移動  cp /usr/local/spine/etc/spine.conf /etc/  (否則報下面錯誤)


繼續出錯:
        沒有任何圖像產生,查看cacti日誌
       POLLER: Poller[1] Maximum runtime of 58 seconds exceeded. Exiting.

剛開始分析是監控機器太多,線程無法在一分鐘內掃描所有機器,在Poller設置裏增加線程數
問題依舊……

仔細查看Settings -> Paths -> Alternate Poller Path  裏的設置選項,上面我們將spine這個程序
cp spine /var/www/html/cacti/spine   放到/var裏執行,所以程序找不到它的配置文件了!!!
解決:cp /usr/local/spine/etc/spine.conf /etc/

查看日誌,正常工作
2017-02-16 14:55:03 - SYSTEM STATS: Time:1.5972 Method:spine Processes:2 Threads:4 Hosts:6                        HostsPerProcess:3 DataSources:10 RRDsProcessed:7

插件配置

cacti不僅把所統計的流量以圖像顯示出來,而且還能通過插件使得cacti的功能得到進一步的提升。Cacti插件是對cacti的擴展,要使用cacti插件必須先擴展cacti架構,來支持插件。爲了讓cacti能夠使用插件,必須先給cacti安裝一個補丁->Plugin Architecture。由於對應不同的cacti的版本,都會有相應的PA。所以在安裝PA的時候,一定要選擇正確的版本。在cactiusers.org你會找到不同的插件和PA。
PA 與cacti版本的關係:

PA 1.0 = cacti 0.8.6i
PA 1.1 = cacti 0.8.6i et 0.8.6j
PA 2.0 = cacti 0.8.7b
PA 2.2 = cacti 0.8.7c
PA 2.4 = cacti 0.8.7d
PA 2.5 = cacti 0.8.7e

PA 2.8 =cacti 0.8.7g

cacti-plugin

用於擴展cacti架構,從而支持cacti插件

下載地址:http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7g-PA-v2.8.tar.gz

settings

用於郵件報警

下載地址:http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz

monitor

用圖形方式顯示設備狀態

下載地址:http://docs.cacti.net/_media/plugin:monitor-v1.2-1.tgz

threshold/thold

用於設備異常預警,閾值報警

下載地址:http://docs.cacti.net/_media/plugin:thold-v0.5.0.tgz

weathermap

可以把網絡拓撲顯示出來

下載地址:http://www.network-weathermap.com/files/php-weathermap-0.96a.zip

cacti-plugin安裝

備份cacti的web目錄和數據庫,以便在安裝過程中出現錯誤後能及時恢復。

mkdir /root/cactibak

cd /var/www/html/

tar -zcf  /root/cactibak/cacti-bak.tar.gz cacti

mysql -ucactiadm -pfuzj123  -B cacti_db > /root/cactibak/cacti-bak.sql

ls /root/cactibak

安裝cacti-plugin

cd /usr/src
wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
tar zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cd cacti-plugin-arch/
cp cacti-plugin-0.8.7g-PA-v2.8.diff  /var/www/html/cacti/
cp pa.sql /var/www/html/cacti/
cd /var/www/html/cacti/
patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
mysql -ucactiuser -pcactiuser cacti < pa.sql     //-u 用戶名  -p密碼  數據庫

#編輯global.php

vim include/global.php

修改下面內容:

$database_type = "mysql";

$database_default = "cacti_db";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "cactiuser";

$database_port = "3306";

修改完之後,下面打開瀏覽器對Cacti進行配置

注意:如果無法打開瀏覽器多是因爲URL 不正確照成的。如果你訪問cacti 的URL 爲

http://ip/,那麼在config.php(vim /var/www/html/cacti/include/config.php) 文件中則爲$url_path ="/"; ;如果訪問cacti 的URL 爲http://192.16.254.248/cacti,則$url_path = "/cacti/";
打開"Console→ User Management→admin"然後在"Realm Permissions"選項卡中勾選"Plugin Management",然後點擊Save 進行保存。打開瀏覽器,http://localhost 對 cacti 進行配置

 

這個時候我們就可以在Console→Configuration 選項卡下多了一個Plugin Management

選項卡,到此cacti 架構擴展完成

wKiom1WaSIqB3ZFaAAAtYG7TU0c090.jpg

 

settings安裝和使用

安裝部署

cd /usr/src/

wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz

mv plugin\:settings-v0.71-1.tgz  settings-v0.71-1.tar

tar xf settings-v0.71-1.tar

cp -fr settings /var/www/html/cacti/plugins/

 

點擊Console---> Plugin Management,我們看到多了一個settings 插件,然後點擊藍色箭頭啓

用即可,下圖爲啓用後settings 插件,啓用後箭頭爲紅色

wKioL1WaSnySg-e-AABFDy3P6bs831.jpg

 

使用settings設置郵件報警

打開Console------Settings------Mail/DNS

wKiom1WaSNOwO0ZKAAcF7VsIEmQ846.jpg

按照上圖進行配置,然後點擊保存,最後點擊右上角 send a Test Email.查看測試是否成功。看到success之後表示成功。

 

wKioL1WaSraB1DUMAAFipdj1Dos648.jpg

wKiom1WaSOmTfBVbAAFcIIjQIvI187.jpg

 

附:中文版配置頁面的。用於配置參考

 

monitor安裝和使用

安裝部署

cd /usr/src/

wget http://docs.cacti.net/_media/plugin:monitor-v1.2-1.tgz

mv plugin\:monitor-v1.2-1.tgz monitor-v1.2-1.tar

tar xf monitor-v1.2-1.tar

cp -fr monitor /var/www/html/cacti/plugins/

 

打開“Console -> Plugin Management”點擊藍色箭頭啓用即可,下圖爲已經啓用的Monitor

插件

wKioL1WaSwPjl8bWAABco8jyHsA800.jpg

然後回到控制檯,發現多了一個“Monitor”選項卡

wKiom1WaSTfAt-h4AAB1tY3fmWQ815.jpg

打開“Console -> Settings”,發現多了一個“Misc”選項卡

wKiom1WaSWHhZWZ0AABcGFJR-tM529.jpg

 

monitor設置,監控主機狀況

wKioL1WaS0SRXQbSAAZlgGwlTaY548.jpg

 

thold的安裝和使用

安裝部署

cd /usr/src/

wget http://docs.cacti.net/_media/plugin:thold-v0.5.0.tgz

mv plugin\:thold-v0.5.0.tgz  thold-v0.5.0.tar

tar xf thold-v0.5.0.tar

cp -fr thold  /var/www/html/cacti/plugins/

 

thold 插件不需要在cacti 配置文件config.php 中添加,我們之間來到瀏覽器設置就可以

打開“Console ->Plugin Management”點擊藍色箭頭啓用即可,下圖爲已經啓用的thold

wKiom1WaSaaQx-SnAAB9hV_1yyU646.jpg

回到控制檯,我們會發現多了一個“thold”選項

wKioL1WaS3PyOZ1wAABHhTjZX6w447.jpg

打開“Console -> Settings”,發現多了一個“Alerting/Thold”選項卡

wKiom1WaSaaTX_9EAAB1a5Qb1cw541.jpg

配置thold實現監控閾值報警

打開“Console ------Settings------Alerting/Thold”

設置報警的收件郵箱和發件郵箱(需要和之前在settings中設置的一樣)

 

wKioL1WaS6HB-1bmAAXfMSluc9k828.jpg

wKiom1WaSdTjuuiuAAOPpTSesaA124.jpg

 

附:中文界面圖,供參考

wKioL1WaS6HzHYYXAAOipGROrDY741.jpg

wKiom1WaShuh0VNUAAPRqjiBxiQ924.jpg

weathermap的安裝和使用

cd /usr/src/

wget http://www.network-weathermap.com/files/php-weathermap-0.96a.zip

unzip php-weathermap-0.96a.zip

cp -fr  weathermap  /var/www/html/cacti/plugins/

chmod -R 777 /var/www/html/cacti/plugins/weathermap

打開“Console -> Plugin Management”啓用weathermap

wKiom1WaSkjgyNdeAACE1BkcAG4218.jpg

點擊“Console -> User Management ->admin”勾選下面選項

wKioL1WaTBXSJU0nAAG7UFLXktk799.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章