Centos5.4
下CACTI安装配置
一.环境介绍
主监控机是
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
的下载地址:
CACTI
下载路径:
wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
二.安装配置:
在主监控机上安装
apache+php+mysql
的
web
环境
,
推荐编译安装。也可以图省事用
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
包,在此提供下载路径:
wget ftp://ftp.pucpr.br/rrdtool/rrdtool-1.2.27.tar.gz
# 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 �Ce
添加如下内容,意思就是每五分钟执行一次
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 [email protected] 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.239
(
cacti
)服务器的地址
)
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
列分钟
1
~
59
第
2
列小时
1
~
23
(
0
表示子夜)
第
3
列日
1
~
31
第
4
列月
1
~
12
第
5
列星期
0
~
6
(
0
表示星期天)
第
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
上面的例子表示每月
1
、
10
、
22
日的
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 : 00
至
23 : 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