Cacti是一套基于PHP,MySQL,SNMP及RRDTool開發的網絡流量監測圖形分析工具。
Cacti是通過?snmpget來獲取數據,使用 RRDtool繪畫圖形,它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,功能非常強大完善。界面友好,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖。
一.?安裝apache
1.準備工作
(1)yum方式安裝gcc、gcc-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)安裝apr和apr-util
apr和apr-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)將apr和apr-util拷到http的srclib目錄下,并去掉版本號
#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.準備工作
(1)yum方式安裝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
全部內容如下:
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版本,因為libpng與zlib存在版本兼容的問題,如果版本不合適,會make的時報錯
?
已知?zlib-1.2.8和libpng-1.6.10之間就存在這種問題,?zlib-1.2.8和libpng-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
?
5)yum方式安裝fontconfig、gd、libxml2*、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.準備工作
(1)yum方式安裝cairo-devel、pango、pango-devel、libpng-devel、libart_lgpl-devel、intltool、freetype-devel?
#yum?install?cairo-devel?pango?pango-devel?libpng-devel?libart_lgpl-devel?intltool?freetype-devel?–y
?
(2)yum方式安裝perl-ExtUtils-CBuilder、perlExtUtils-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
(1)yum方式安裝net-snmp
#?yum?install?net-snmp*?-y
(2)配置net-snmp(主配置文件/etc/snmp/snmpd.conf)
1)找到:
?
修改成:
?
其中的192.81.128.66就是你允許哪臺主機可以訪問到你(即cacti服務器)
2)找到:
?
將注釋去掉,即:
?
3)找到:
?
將注釋去掉
?
(3)啟動net-snmp
?service snmpd start
監控的端口是161,查看是否已打開
netstat -an |grep snmp?
(4)驗證是否有數據
1)localhost
#?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連接使用的數據庫類型,用戶名,密碼信息,按照自己的需要進行配置
?
并增加:$url_path="/cacti/";
5.配置apache(配置文件/usr/local/apache/conf/httpd.conf)
?找到:
修改成:
檢測一下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界面
3.出現如下界面,沒有錯誤,perfect
?
點擊Finish
重新訪問一下看看
這是就出現了cacti的登陸界面
?4.第一次登陸,用戶名,密碼都是admin
?
7.這是成功登陸cacti
?
當出現上圖情況時,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/下就可以了
?就可以出圖了?
9.?加入crontab服務
?*/5 * * * * env LANG=C /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php
?
10.過一段時間后,就會有數據圖了
?
轉載于:https://blog.51cto.com/superleedo/1891052