现如今cacti的应用相当广泛,比如一些门户网站、数据中心,像北京铜牛信息数据中心、中国联通数据中心(东四)均已经使用cacti来作为自己的网络流量监控平台。当然,笔者所在的公司也安装了cacti,在安装和使用过程中遇到不少麻烦,写这一系列文章的原因就是希望一些网友在安装和配置cacti的过程中能少走些弯路
CACTI简介:Cacti是一套基于PHP、MySQL、SNMP、及RRDTool开发的网络流量监测图形分析工具。它通过snmp来获取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能强大,界面友好
一、安装Apache
#tar zxvf httpd-2.2.11.tar.gz
#cd httpd-2.2.11
#./configure --prefix=/usr/local/apache --enable-so
#make && make install
#/usr/local/apache/bin/apachectl start //启动Apache
#echo "/usr/local/apache/bin/apachectl start" >>/etc/rc.local //加入开机启动二、安装MySQL
#useradd mysql
#tar zxvf mysql-5.1.49-linux-i686-glibc23.tar.gz
#mv mysql-5.1.49-linux-i686-glibc23 /usr/local/mysql
#chown -R root:mysql /usr/local/mysql
#chown -R mysql:mysql /usr/local/mysql/data
#cd /usr/local/mysql/
#cp support-files/my-medium.cnf /etc/my.cnf
#./scripts/mysql_install_db --user=mysql & //初始化MySQL
#/usr/local/mysql/bin/mysqld_safe --user=mysql & //启动MySQL
#./bin/mysqladmin -uroot password 123456 //设置MySQL管理员密码
#echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >>/etc/rc.local //把MySQL加入开机启动
#echo "export PA TH=$PA TH:/usr/local/mysql/bin" >>/etc/profile //把MySQL加入环境变量
#source /etc/profile //使环境变量生效
三、安装PHP
在安装PHP前需要在安装一些库文件,比如像GD、libpng等。我们可以使用yum来安装这些库文件(对于这种小程序完全没必要一步步使用源码安装,太浪费时间)
#yum install libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel gd gd-devel
#tar zxvf php-5.2.9.tar.gz
#cd php-5.2.9
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-sockets
#make && make install
#ln -s /usr/local/php/bin/* /usr/local/bin/
#cp php.ini-dist /usr/local/php/lib/php.ini
将Apache、PHP二者整合
编辑Apache配置文件httpd.conf,在配置文件加入如下内容
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
然后将DirectoryIndex后的index.html修改为index.php
下面我们测试apache和php是否整合成功,在apache文档跟目录下新建一个小小的php程序
# cd /usr/local/apache/htdocs/
# vi index.php在index.php文件中写入下面三行
phpinfo();
?>
重启apache服务
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start
访问,在浏览器中输入http://localhost/ 出现一下界面则说明成功
注:如果无法出现以上界面一般是由SELinux照成的,解决办法就是将SELinux关闭
四、rrdtool安装
Rrdtool安装需要cairo、libxml2、pango库文件支持,所以我们先使用yum安装这几个库文件
#yum install cairo-devel libxml2-devel pango pango-devel
#tar zxvf rrdtool-1.4.4.tar.gz
#cd rrdtool-1.4.4
#./configure --prefix=/usr/local/rrdtool
#make && make install
#ln -s /usr/local/rrdtool/bin/* /usr/local/bin/五、net-snmp安装
#tar zxvf net-snmp-5.4.3.tar.gz
#cd net-snmp-5.4.3
#./configure --prefix=/usr/local/net-snmp
#make && make install
#cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf
#ln -s /usr/local/net-snmp/bin/* /usr/local/bin/
#/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf //启动net-snmp
#echo “/usr/local/net-snmp/sbin/snmpd -c
/usr/local/net-snmp/share/snmp/snmpd.conf ” >>/etc/rc.local //加入开机启动
六、cacti安装
#tar zxvf cacti-0.8.7g.tar.gz
#mv cacti-0.8.7g/* /usr/local/apache/htdocs/
#mysql -uroot -p123456
#mysql> create database cacti; //创建cacti数据库
#mysql> insert into mysql.user (host,user,password) values ('localhost','cacti',password('cacti123')); //建立用户cacti,密码cacti123
#mysql> flush privileges; //重载MySQL授权表
#mysql> grant all on cacti.* to cacti@'localhost' identified by 'cacti123'; //把数据库cacti授权于用户cacti
#cd /usr/local/apache/htdocs/
#mysql -ucacti -pcacti123 cacti #vi include/config.php 修改完网站配置文件后我们打开浏览器,然后访问http://localhost/install/,如果以上程序全部配置无误后则显示的画面如下,如果有报错请根据自己的实际情况修改(一般为路径问题,在这个页面中将程序路径重新指定即可) Cacti默认登录用户和密码为admin,第一次成功登录后程序会要求重新设置cacti的admin 密码 为监控对象生成文件 #/usr/local/bin/php /usr/local/apache/htdocs/poller.php 解释:rra目录用来存放cacti为监控对象生成的监控对象文件 设置cacti数据采集轮询时间 #crontab –e ,加入如下内容,让cacti每五分钟采集一次数据 */5 * * * * env LANG=C /usr/local/bin/php /usr/local/apache/htdocs/poller.php 配置好cacti我们可以添加一个监控对象,下图为本公司实际环境中cacti采集到的某网络设备的流量信息