Cacti是一套基于PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。

Cacti是通過?snmpget來獲取數據,使用 RRDtool繪畫圖形,它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。界面友好,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖。



一.?安裝apache

1.準備工作

1yum方式安裝gccgcc-c++

#?yum?install?gcc?gcc-c++?-y

?

2)安裝pcre

pcre下載地址:

http://jaist.dl.sourceforge.net/project/pcre/pcre/8.35/?

#tar?zxf?pcre-8.35.tar.gz?

#cd?pcre-8.35

#./configure?prefix=/usr/local/pcre

#make?&&?make?install

??

3)安裝aprapr-util

aprapr-unit下載地址:

http://archive.apache.org/dist/apr/????

1)解壓文件

#tar?zxf?apr-1.5.0.tar.gz?

#tar?zxf?apr-util-1.5.3.tar.gz?

#tar?zxf?httpd-2.4.9.tar.gz?

?

2)將aprapr-util拷到httpsrclib目錄下,并去掉版本號

#cp?-r?apr-1.5.0?httpd-2.4.9/srclib/apr

#cp?-r?apr-util-1.5.3?httpd-2.4.9/srclib/apr-util

?

3)編譯安裝

安裝apr

#cd?httpd-2.4.9/srclib/apr

#./configure?--prefix=/usr/local/apr

#make?&&?make?install

?

安裝apr-util

#cd?/root/httpd-2.4.9/srclib/apr-util/

#./configure?--prefix=/usr/local/apr-util?--with-apr=/usr/local/apr/

#make?&&?make?install

??

2.正式安裝apache

Apache下載地址:

http://archive.apache.org/dist/httpd/?

#cd?httpd-2.4.9

#./configure?--prefix=/usr/local/apache?--with-apr=/usr/local/apr/?--with-apr-util=/usr/local/apr-util/?--with-pcre=/usr/local/pcre/

#make?&&?make?install


啟動apache服務

#service httpd start

安裝成功,啟動httpd服務并加入開機啟動

#chkconfig httpd on


二.?安裝mysql

1.準備工作

1yum方式安裝ncurses-devel

#yum?install?ncurses-devel?y

?

2)安裝cmake

cmake下載地址:

http://wwwNaNake.org/files/v3.0/

#tar?zxf?cmake-3.0.0.tar.gz?

#cd?cmake-3.0.0

#./configure

#make?&&?make?install

?

2.創建mysql的安裝目錄及數據庫存放目錄

#mkdir?/usr/local/mysql/date?-pv

?

/usr/local/mysql/??????????//mysql安裝目錄

/usr/local/mysql/data???????//存在數據庫

3.創建mysql用戶和用戶組

#groupadd?mysql

#useradd?-r?-g?mysql?mysql

?

4.源碼方式安裝mysql

Mysql下載地址:

http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz

#tar?zxf?mysql-5.6.17.tar.gz?

#cd?mysql-5.6.17

#cmake?.?-DCMAKE_INSTALL_PREFIX=/usr/local/mysql?-DMYSQL_DATADIR=/usr/local/mysql/data?-DWITH_INNOBASE_STORAGE_ENGINE=1?-DMYSQL_TCP_PORT=3306?-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock?-DWITH_DEBUG=0

#make?&&?make?install

?

參數說明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql??//安裝目錄

-DMYSQL_DATADIR=/usr/local/mysql/data???//數據庫存放目錄

-DMYSQL_TCP_PORT=3306????//端口號

-DENABLED_LOCAL_INFILE=1???//允許從本地導入數據

?

5.配置mysql

1)設置目錄權限

#chown?mysql:mysql?/usr/local/mysql/?-R

?

2)初始化mysql數據庫

#cd?/usr/local/mysql/

#./scripts/mysql_install_db?--user=mysql?--datadir=/usr/local/mysql/data/?--basedir=/usr/local/mysql/

?

3)復制mysql服務啟動腳本

#cp?./support-files/mysql.server?/etc/init.d/mysqld

?

4)配置環境變量

#vim?/etc/profile

添加:

PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib

?重新加載重啟生效

#source?/etc/profile

?

5)修改mysql主配置文件/etc/my.cnf

全部內容如下:

wKioL1h1qYSwblq3AAAdMvdkshU931.png-wh_50

6.啟動mysql

1)開啟守護進程,生成pid

#./mysqld_safe?&

?(2)啟動mysql

#service mysqld restart

?

?7.設置mysql管理員密碼

#./mysqladmin?password?"123456"?-u?root

??

三.?安裝PHP

1.準備工作

1)安裝zlib

zlib下載地址:

http://www.zlib.net/

#tar?zxf?zlib-1.2.8.tar.gz?

#cd?zlib-1.2.8

#./configure?--prefix=/usr/local/zlib

#make?&&?make?install

?

2)安裝libpng

libpng下載地址:

http://sourceforge.net/projects/libpng/postdownload?source=dlp

注意:這里建議下載libpng-1.5.18版本,因為libpngzlib存在版本兼容的問題,如果版本不合適,會make的時報錯

?

已知?zlib-1.2.8libpng-1.6.10之間就存在這種問題,?zlib-1.2.8libpng-1.5.18可以正常安裝,有篇文章對此問題進行了一些描述

#tar?zxf?libpng-1.5.18.tar.gz?

#cd?libpng-1.5.18

#./configure?--prefix=/usr/local/libpng?

#make?&&?make?install


編譯的時候后面加上--with-zlib-prefix=/usr/local/zlib/,還是提示相同的錯誤

明明已經安裝了zlib,為什么提示zlib沒有安裝,原來是沒有安裝zlib-devel,下面我們使用yum方式安裝zlib-devel

#yum?install?zlib-devel

?

下面編譯就成功了

#./configure?--prefix=/usr/local/libpng?--with-zlib-prefix=/usr/local/zlib/

再安裝

?

3)安裝freetype

freetype下載地址:

http://sourceforge.net/projects/freetype/files/freetype2/2.5.3/

#cd?freetype-2.5.3

#./configure?--prefix=/usr/local/freetype

#make?&&?make?install

?

4)安裝jpeg

jpeg下載地址:

http://www.ijg.org/files/?

#tar?zxf?jpegsrc.v9.tar.gz?

#cd?jpeg-9/

#./configure?--prefix=/usr/local/libjpeg

#make?&&?make?install

?

5yum方式安裝fontconfiggdlibxml2*libjpeg-devel

#?yum?install?fontconfig?gd?–y

?#?yum?install?libxml2*?libjpeg-devel?–y

?

2.正式安裝PHP

PHP下載地址:wget http://cn2.php.net/distributions/php-5.5.14.tar.gz?

?

#tar?zxf?php-5.5.14.tar.gz?

#cd?php-5.5.14

#./configure?--prefix=/usr/local/php?--with-apxs2=/usr/local/apache/bin/apxs?--with-gd?--with-mysql=/usr/local/mysql/?--with-zlib-dir=/usr/local/zlib/?--with-png-dir=/usr/local/libpng/?--enable-gd-native-ttf?--with-ttf?--enable-gd-jis-conv?--enable-mbstring?--enable-sockets?--enable-xml? --disable-fileinfo

#make?&&?make?install


最后建立一個軟連接

?ln -s /usr/local/php/bin/* /usr/local/bin/


四.?安裝rrdtool

1.準備工作

1yum方式安裝cairo-develpangopango-devellibpng-devellibart_lgpl-develintltoolfreetype-devel?

#yum?install?cairo-devel?pango?pango-devel?libpng-devel?libart_lgpl-devel?intltool?freetype-devel?–y

?

2yum方式安裝perl-ExtUtils-CBuilderperlExtUtils-MakeMaker

#?yum?install?perl-ExtUtils-CBuilder?perlExtUtils-MakeMaker?–y

?

2.正式安裝rrdtool

rrdtool下載地址:

http://download.chinaunix.net/down.php?id=35595&ResourceID=9078&site=1?

#tar?zxf?rrdtool-1.4.5.tar.gz?

#cd?rrdtool-1.4.5

#./configure?--prefix=/usr/local/rrdtool?--disable-tcl

#make?&&?make?install

?

?2.增加鏈接

?ln -s /usr/local/rrdtool/bin/* /usr/local/bin/


五.?安裝net-snmp

1yum方式安裝net-snmp

#?yum?install?net-snmp*?-y


2)配置net-snmp(主配置文件/etc/snmp/snmpd.conf


1)找到:

?wKioL1h1t_bDWzNsAAANXrLq9Z4948.png

修改成:

?wKioL1h1uAmzo3QnAAAKhba-c5Y869.png

其中的192.81.128.66就是你允許哪臺主機可以訪問到你(即cacti服務器)

2)找到:

?wKiom1h1uBux_o9BAAAL_Dmioeg259.png

將注釋去掉,即:

?wKiom1h1uDDQkcC5AAAMd8oqtEE656.png

3)找到:

?wKioL1h1uESQMfmDAAAD-***QbE755.png

將注釋去掉

?wKioL1h1uFaRFoDiAAAGvoCrVC4152.png

3)啟動net-snmp

?service snmpd start

監控的端口是161,查看是否已打開

netstat -an |grep snmp?

4)驗證是否有數據

1localhost

#?snmpwalk?-v?2c?-c?public?localhost

?

2)本機ip測試

#?snmpwalk?-v?2c?-c?public?192.81.128.66

192.81.128.66就是被監控機的IP(這里測試的是本機,所以就是本機IP

??

六.?安裝cacti

cacti下載地址:

http://www.cacti.net/downloads/

1.?解壓cacti后,把cacti的目錄移到httpd里存放網頁的htdocs目錄,并去掉版本號

?#tar zxf cacti-0.8.7h.tar.gz

#mv cacti-0.8.7h? /usr/local/apache/htdocs/cacti


2.增加cacti用戶,并修改目錄權限

cd /usr/local/apache/htdocs

useradd catic

?chown -R cacti.cacti ./


3.root身份登陸mysql,新建數據并授權

?mysql -uroot -p

> grant all on cacti.* to cacti@'localhost' identified by '123456';

> flush privileges;

?

4.導入數據庫

?cd /usr/local/apache/htdocs/cacti

?# /sur/local/mysql/bin/mysql -u cacti -p123456 cacti < cacti.sql


vim include /config.php

這里有cacti連接使用的數據庫類型,用戶名,密碼信息,按照自己的需要進行配置

wKioL1h1vB-x6RInAAAnCA7fAZ4277.png?

并增加:$url_path="/cacti/";


5.配置apache(配置文件/usr/local/apache/conf/httpd.conf

?找到:

wKiom1h1vEjhIQsaAAAJO6_IWEc294.png

修改成:

wKioL1h1vFnxEDGsAAAVO_ZTBaY659.png

wKioL1h1vIyjPJLnAAAOYmKLews746.png

檢測一下httpd的配置文件語法重啟httpd服務

?/usr/local/apache/bin/apachectl configtest

?yum install php-mysql -y


6.關閉防火墻和selinux,訪問cacti安裝界面

?setenforce 0

service iptables stop


7.重啟apache服務

?service httpd restart


七.?登陸cacti,進行cacti安裝

1.在瀏覽器輸入http://192.81.128.66/cacti,進入web界面

?

點擊Next?

2.出現如1界面

?依然點擊Next

3.出現如下界面,沒有錯誤,perfect

wKiom1h1xfCRJXkIAAF8UJlKnis529.png?

點擊Finish

重新訪問一下看看

這是就出現了cacti的登陸界面

?4.第一次登陸,用戶名,密碼都是admin

wKioL1h1xk-Czi8GAAFOrQHdyio663.png?

7.這是成功登陸cacti

wKiom1h1xrSC9tf3AAGMnWWxZGA201.png?

當出現上圖情況時,cacti已安裝完畢,可正常使用。

cacti默認是使用cmc.php方式去畫圖的,但據說使用spine方式比較節省系統資源消耗,

8.?生成圖形文件?

?在界面中點擊graphs,圖形不顯示,使用如下命令生成圖形文件?

/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php?

此時,圖片出現的可能都是亂碼,那個因為/usr/share/fonts/下沒有任何字符文件。

?這個問題解決辦法很簡單,隨便拷一個.ttf的文件到/usr/share/fonts/下就可以了

wKioL1h1x83CNDqOAAAWAEXegxA172.png?就可以出圖了?

9.?加入crontab服務

?*/5 * * * * env LANG=C /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php

?

10.過一段時間后,就會有數據圖了

?