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
#mkdir /usr/local/MysqL/date -pv
#groupadd 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
#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
全部内容如下:
6.启动MysqL
(1)开启守护进程,生成pid
#./MysqLd_safe &
(2)启动MysqL
#service MysqLd restart
#./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
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
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
这里有cacti连接使用的数据库类型,用户名,密码信息,按照自己的需要进行配置
并增加:$url_path="/cacti/";
5.配置apache(配置文件/usr/local/apache/conf/httpd.conf)
找到:
修改成:
检测一下httpd的配置文件语法重启httpd服务
/usr/local/apache/bin/apachectl configtest
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
点击Finish
重新访问一下看看
这是就出现了cacti的登陆界面
4.第一次登陆,用户名,密码都是admin
7.这是成功登陆cacti
当出现上图情况时,cacti已安装完毕,可正常使用。
但cacti默认是使用cmc.PHP方式去画图的,但据说使用spine方式比较节省系统资源消耗,
在界面中点击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.过一段时间后,就会有数据图了