10年工作经验,专研网站运维。
全部博文(454)
分类: LINUX
2011-05-10 17:32:30
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-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-mime-magic --enable-expires --enable-headers --enable-http --enable-cgid --enable-rewrite --enable-so
#make && make install
#/usr/local/apache2/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 PATH=$PATH:/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/php5 --with-apxs2=/usr/local/apache2/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
访问,在浏览器中输入 出现一下界面则说明成功
注:如果无法出现以上界面一般是由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 -u root –p 123456
#mysql>create database cacti; //创建cacti数据库
#mysql> insert into mysql.user (host,user,password) values ('localhost','cacti',password('cacti123')); //建立用户cacti,密码cacti123
#mysq>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 < cacti.sql //导入cacti数据库
导入完数据库我们还需要修改一下网站的配置文件,以保网站与数据库能正常连接
#vi include/config.php
修改完网站配置文件后我们打开浏览器,然后访问,如果以上程序全部配置无误后则显示的画面如下,如果有报错请根据自己的实际情况修改(一般为路径问题,在这个页面中将程序路径重新指定即可)
Cacti默认登录用户和密码为admin,第一次成功登录后程序会要求重新设置cacti的admin密码
为监控对象生成文件
#/usr/local/php5/bin/php /usr/local/apache/htdocs/poller.php
解释:rra目录用来存放cacti为监控对象生成的监控对象文件
设置cacti数据采集轮询时间
//添加cacti用户
# useradd cacti
//将rra目录的所有权给cacti用户
# chown –R cacti /usr/loca/apache/htdocs/cacti/rra
//修改cacti目录所属组
# chgrp –R cacti /usr/loca/apache/htdocs/cacti
//为cacti用户添加cron任务
# su – cacti
# crontab –e
*/5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
注意:首次执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限。
配置好cacti我们可以添加一个监控对象,下图为本公司实际环境中cacti采集到的网络设备的流量信息
进入cacti后需确认更改以下位置:(如下图)
Console>>General
Console>>Poller