Centos5.4CACTI安装配置
 
一.环境介绍
主监控机是Centos 5.4 +Apache2.2.14+PHP 5.1.6+mysql-5.1.42
主监控机IP=10.10.38.239
CACTI版本:Cacti-0.8.7e
 
所需软件:
http
Php
Php-mysql
Php-snmp
Mysql
Perl-DBD-MySQL
Php-pdo
rrdtool
Net-snmp
Net-snmp-libs
Net-snmp-utils
以上软件网上均有,这里只提供CACTI的下载地址:
 
二.安装配置:
在主监控机上安装apache+php+mysqlweb环境,推荐编译安装。也可以图省事用yum装:
yum install php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL
 
安装完上述软件后,需要安装rrdtool,由于本人在安装时未能用yum找到rrdtool包,在此提供下载路径:
# tar zxvf rrdtool-1.2.27.tar.gz
# cd rrdtool-1.2.27
# ./configure --prefix=/usr/local/rrdtool
# make && make install
 
配置snmp
vi /etc/snmp/snmp.conf
1#将下边这行中的default
com2secnotConfigUser default public
#改为127.0.0.1
com2secnotConfigUser 127.0.0.1 public
2#将下边这行中的systemview
access notConfigGroup "" any noauth exact systemview none none
#改为all
 
access notConfigGroup "" any noauth exact all none none
3#将下边这行的注释“#”号去掉
#view all included .1 80
4.如果你的网络存在多个网段,则要配置以下内容,因为我的网段较大,所以用16位网段:添加:com2sec mynetwork 10.10.0.0/16      public
 
重启snmpd服务
service snmpd restart
 
安装CACTI
先建个cacti用户,再设置个密码,然后用这个帐户建个任务:
useradd cacti
passwd cacti
su - cacti
crontab –e
添加如下内容,意思就是每五分钟执行一次poller.php,关于crontab的时间设定会在最后加以介绍。
*/5 * * * * cacti php /var/www/html/cacti/poller.php > /dev/null 2>&1
 
#把解压后的包移动到你的相应的web目录
tar xvf cacti-0.8.7e.tar.gz
mv cacti-0.8.7e /Data/code/cacti (建议不要放在默认路径下,而是自己指定路径)
cacti网站目录所属组改为cacti:
su - root
chgrp -R cacti /var/www/html/cacti -R参数就是递归其目录下的各子目录及子文件同样的组用户)
另外还需要两个目录的所有者修改,以便使cacti有写权限:
chown -R cacti /var/www/html/cacti/rra
chown -R cacti /var/www/html/cacti/log
 
数据库配置:
在数据库中建库、授权、导入数据库结构
#注意导入cacti.sql时该文件的路径
mysql -p
mysql> create database cacti;
mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;
mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti' with grant option;
mysql> use cacti;
mysql> source /var/www/html/cacti/cacti.sql; (导入库结构)
 
编辑cacti配置文件,这里配置链接MySQL服务的用户名,密码,端口等。
cd /var/www/html
vi cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
(如果你的CACTI找不到local数据库,则把local改为127.0.0.1
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
 
浏览器下配置
#用浏览器打开 http:// 10.10.38.239/cacti ,会显示 cacti的安装指南,设置好就不会再出现了。
#点击 Next
#选择“New Install”,点击“Next
#指定 rrdtool php snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 NOT FOUND”的,点击 Finish 完成安装。
# 默认的用户名与密码是admin,输入用户名与密码,点击 login
#为了安全的原因,第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码,点击 save ,进入 cacti 控制台界面:
#点击 graphs ,查看cacti 监控本机的图表.
 
接下来就是客户端SNMP配置了。
 
1.yum -y install net-snmp net-snmp-devel
2.vi /etc/snmp/snmpd.conf(修改snmp配置文件中的三个参数)
将下边这行中的default改为10.10.38.239cacti)服务器的地址)
com2secnotConfigUser default public
com2secnotConfigUser 10.10.38.239 public
 
将下边这行中的systemview改为all
access notConfigGroup "" any noauth exact systemview none none
access notConfigGroup "" any noauth exact all none none
 
将下边这行的注释“#”号去掉
#view all included .1 80
 
重启:service snmpd restart
 
如何添加客户端在这里就不作介绍了,挺简单。
 
以下是在安装配置过程中遇到的问题,供各位参考:
1.       安装完不出图的原因:发现是在setting里的rrdtool的版本不对造成的。
2.       不同网段服务器监控,有时需要把所有VIEW打开。
3.       有时无法获取数据的一个原因就是防火墙,需要把IPtables关闭
 
关于Crontab 的一个点介绍,摘自网络。
Crontab的格式:
1列分钟159
2列小时1230表示子夜)
3列日131
4列月112
5列星期060表示星期天)
6列要运行的命令
下面是crontab的格式:
星期 要运行的命令
这里有crontab文件条目的一些例子:
30 21 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的21:30重启apache
45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart
上面的例子表示每月11022日的4 : 45重启apache
10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的1 : 10重启apache
0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示在每天18 : 0023 : 00之间每隔30分钟重启apache
0 23 * * 6 /usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的11 : 00 pm重启apache
* */1 * * * /usr/local/apache/bin/apachectl restart
每一小时重启apache
* 23-7/1 * * * /usr/local/apache/bin/apachectl restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/apache/bin/apachectl restart
一月一号的4点重启apache