天天看點

Cacti 使用安裝詳解-企業級執行個體

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下載下傳位址:

#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下載下傳位址:

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

安裝apr-util

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

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

2.正式安裝apache

Apache下載下傳位址:

#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/

啟動apache服務

#service httpd start

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

#chkconfig httpd on

二. 安裝mysql

(1)yum方式安裝ncurses-devel

#yum install ncurses-devel –y

(2)安裝cmake

cmake下載下傳位址:

<a href="http://wwwnanake.org/files/v3.0/" target="_blank">http://wwwNaNake.org/files/v3.0/</a>

#tar zxf cmake-3.0.0.tar.gz 

#cd cmake-3.0.0

#./configure

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下載下傳位址:

<a href="http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz" target="_blank">http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz</a>

#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

參數說明:

-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

全部内容如下:

<a href="https://s4.51cto.com/wyfs02/M00/8C/B5/wKioL1h1qYSwblq3AAAdMvdkshU931.png-wh_500x0-wm_3-wmp_4-s_375726356.png" target="_blank"></a>

6.啟動mysql

(1)開啟守護程序,生成pid

#./mysqld_safe &amp;

 (2)啟動mysql

#service mysqld restart

 7.設定mysql管理者密碼

#./mysqladmin password "123456" -u root

三. 安裝PHP

1)安裝zlib

zlib下載下傳位址:

<a href="http://www.zlib.net/" target="_blank">http://www.zlib.net/</a>

#tar zxf zlib-1.2.8.tar.gz 

#cd zlib-1.2.8

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

2)安裝libpng

libpng下載下傳位址:

<a href="http://sourceforge.net/projects/libpng/postdownload?source=dlp" target="_blank">http://sourceforge.net/projects/libpng/postdownload?source=dlp</a>

注意:這裡建議下載下傳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 

編譯的時候後面加上--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下載下傳位址:

<a href="http://sourceforge.net/projects/freetype/files/freetype2/2.5.3/" target="_blank">http://sourceforge.net/projects/freetype/files/freetype2/2.5.3/</a>

#cd freetype-2.5.3

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

4)安裝jpeg

jpeg下載下傳位址:

#tar zxf jpegsrc.v9.tar.gz 

#cd jpeg-9/

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

5)yum方式安裝fontconfig、gd、libxml2*、libjpeg-devel

# yum install fontconfig gd –y

 # yum install libxml2* libjpeg-devel –y

2.正式安裝PHP

#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

最後建立一個軟連接配接

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

四. 安裝rrdtool

(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下載下傳位址:

#tar zxf rrdtool-1.4.5.tar.gz 

#cd rrdtool-1.4.5

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

 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下載下傳位址:

<a href="http://www.cacti.net/downloads/" target="_blank">http://www.cacti.net/downloads/</a>

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

&gt; flush privileges;

4.導入資料庫

 cd /usr/local/apache/htdocs/cacti

 # /sur/local/mysql/bin/mysql -u cacti -p123456 cacti &lt; cacti.sql

vim include /config.php

這裡有cacti連接配接使用的資料庫類型,使用者名,密碼資訊,按照自己的需要進行配置

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

5.配置apache(配置檔案/usr/local/apache/conf/httpd.conf)

 找到:

<a href="https://s3.51cto.com/wyfs02/M02/8C/B9/wKiom1h1vEjhIQsaAAAJO6_IWEc294.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M02/8C/B6/wKioL1h1vFnxEDGsAAAVO_ZTBaY659.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M00/8C/B6/wKioL1h1vIyjPJLnAAAOYmKLews746.png" target="_blank"></a>

檢測一下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安裝

點選Next 

2.出現如1界面

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

點選Finish

重新通路一下看看

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

 4.第一次登陸,使用者名,密碼都是admin

7.這是成功登陸cacti

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

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

8. 生成圖形檔案 

/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.過一段時間後,就會有資料圖了

本文轉自super李導51CTO部落格,原文連結:http://blog.51cto.com/superleedo/1891052 ,如需轉載請自行聯系原作者