一、准备安装
环境:CentOS 6.3_x64bit
安装:Minimal(最小)
注意:修改时区和时间
所需的软件:
http php php-mysql php-snmp mysql perl-DBD-mysql php-pdo rrdtool net-snmp net-snmp-libs net-snmp-utils
下载所需的软件:
cacti-0.8.7g.tar.gz
cacti-plugin-0.8.7g-PA-v2.8.tar.gz
rrdtool-1.4.4-1.el5.wrl.i386.rpm
rrdtool-perl-1.4.4-1.el5.wrl.i386.rpm
rrdtool-ruby-1.4.4-1.el5.wrl.i386.rpm
monitor-latest.tgz
settings-latest.tgz
thold-latest.tgz
二、环境介绍
主监控服务器:Centos 6.3_x64bit
主监控IP地址:10.10.10.100
监控客户端:10.10.10.101
三、安装配置
(1)在主监控服务器上安装apache+php+gd的web环境,推荐编译安装。(可以用yum安装)
[root@server~]#yum install php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL
(2)在主监控服务器上安装rrdtool,rrdtool依赖的包过多,所以选择增加源,然后用yum安装。
安装有三种方式:
[root@server ~]#yum localinstall *.rpm –nogpgcheck 或 [root@server ~]#yum localinstall –y –nogpgcheck * 或[root@server ~]# yum install rrdtool* -y
(3)配置snmp
[root@server ~]#vim /etc/snmp/snmpd.conf
#将下边这行中的default
com2sec notConfigUser default public
#改为:127.0.0.1
com2sec notConfigUser 127.0.0.1 public
#将下边这行中的systemview
access notConfigGroup "" any noauth exact systemview none none
#改为:all
access notConfigGroup "" any noauth exact all none none
#将下边这行的注释“#”去掉
view all included .1 80
重启snmpd服务
[root@server ~]# service snmpd restart
停止 snmpd: [确定]
正在启动 snmpd: [确定]
[root@server ~]# chkconfig snmpd on
(4)安装cacti
[root@server ~]#cd /var/www/html
[root@server html]# mkdir cacti
[root@server html]# ll
总用量 4
drwxr-xr-x. 12 root root 4096 9月 7 15:50 cacti
[root@server ~]# tra xvf cacti-0.8.7g.tar.gz
[root@server ~]# mv cacti-0.8.7g/* /var/www/html/cacti
[root@server ~]# useradd cacti
[root@server ~]# chown -R cacti /var/www/html/cacti/
[root@server ~]# chmod -R 775 /var/www/html/cacti/
[root@server html]# ll
总用量 4
drwxrwxr-x. 12 cacti root 4096 9月 7 15:55 cacti
(5)在数据库中建库、授权、导入数据库结构
#注意导入cacti.sql时该文件的路径
[root@server ~]# cd /var/www/html/cacti/
[root@server cacti]# service mysqld restart
[确定]
正在启动 mysqld: [确定]
[root@server cacti]#chkconifg mysqld on
[root@server cacti]#mysql
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;
myslq> use cacti; //提示“Database changed”即可
myslq> source /var/www/html/cacti/cacti.sql;
mysql> \q
#配置cacti以连接数据库
[root@server cacti]#vim /var/www/html/cacti/include/config.php
修改如下:
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
[root@server cacti]#service httpd restart
[root@server cacti]#chkconfig httpd on
关闭防火墙有2种:
○1[root@server ~]# chkconfig iptables off //关闭防火墙,重启后生效。
○2[root@server ~]#iptables –F //即时生效,不需要重启
SELINUX关闭有2种 :
○1[root@server ~]# vim /etc/selinux/config
修改如下:
SELINUX=enforcing //修改为:SELINUX=disabled
重启:
[root@server ~]# reboot //重启后永久生效
○2[root@server ~]# setenforce 0 //临时关闭,即时生效
注意:#setenforce 0 如果不关闭会出现很多问题,如访问不了,没有权限等游览器
(6)浏览器下配置
#用浏览器打开 :http://服务器IP/cacti ; 会显示cacti的这指南,设置好就不会再提示。
#点“Next”
#选择“New Install”,点击“Next”
#指定 rrdtool php snmp 工具的Binary文件路径,确保所有的路径都是显示“FOUND”,没有“NOT FOUND”的,点击Finish 完成安装。
#Cacti 默认的用户名与密码是:admin,输入用户名与密码,点击:login
#为了安全的原因,第一次登录成功后,Cacti会强制要求更改新password,输入新密码并确认密码,点击“save”,进入cacti控制台界面;
#点击“graphs”,查看Cacti监控本机的图表。
(7)Cacti监控Linux客户端
在被监控的Linux客户端上安装net-snmp
[root@client ~]#yum install net-snmp
配置编辑:
[root@client ~]#vim /etc/snmp/snmpd.conf
#更改以下部分:
#将下边这行中的default
com2sec notConfigUser default public
改为:10.10.10.100(服务器IP地址)
com2sec notConfigUser 10.10.10.100 public
将下边这行中的systemview
access notConfigGroup "" any noauth exact systemview none none
改为:all
access notConfigGroup "" any noauth exact all none none
将下边这行的注释“#”去掉
view all included .1 80
#重启snmpd服务
[root@client ~]#service snmpd restart
[root@client ~]# chkconfig snmpd on
(8)选择console——Devices——Add填入一下内容,这是要监控的客户端,编辑以下几点:
Description: CentOS 6.3 Client
Hostname:10.10.10.101
Host Template: Local Linux Machine
Downed Device Detection:SNMP
SNMP Version: Version 2
“Create”-----*Create Graphs for this ----右边全部“勾”选 ,“Create”,“Create”,“Create”,完成!
Graph Trees-----Default Tree-----Add:
Parent Item:root
Tree Item Type:Host
Host: CentOS 6.3 Client(10.10.10.101)
“Create”,“Save”,完成!
(9)增加入一个计划,使Cacti每5分钟生成一个监控图表。
[root@server cacti]#crontab -e 或crontab –u cacti –e
加入以下内容,注意:poller.php 的路径
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
#确保 /var/www/html/cacti/rra/目录存在;
#如果暂时未看到图表,可以手工执行,生存图表
[root@server cacti]# cd ..
[root@server html]# php /var/www/html/cacti/poller.php > /dev/null 2>&1
四、cacti常用插件安装
1.在安装别的插件前,先要安装Cacti的一个patch--Plugin Architecture,才能支持插件PA 2.8 = cacti 0.8.7g
[root@server ~]# yum install patch -y
[root@server ~]#tar xvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
[root@server ~]#cp -R cacti-plugin-arch/* /var/www/html/cacti/
cp:是否覆盖"/var/www/html/cacti/LICENSE"? y
cp:是否覆盖"/var/www/html/cacti/README"? y
[root@server ~]#cd /var/www/html/cacti
[root@server cacti]# mysql -ucacti -pcacti cacti <pa.sql
[root@server cacti]# patch -p1 -N<cacti-plugin-0.8.7g-PA-v2.8.diff
[root@server cacti]# vim include/config.php
修改为:$url_path = "/cacti/";
:wq //保存
2.安装常用插件
Monitor Settings thold
拓朴图 报警
[root@server ~]#tar zxvf monitor-latest.tgz
[root@server ~]#tar zxvf settings-latest.tgz
[root@server ~]#tar zxvf thold-latest.tgz
[root@server ~]#mv monitor-0.9 /var/www/html/cacti/plugins/monitor
[root@server ~]#mv settings-0.6 /var/www/html/cacti/plugins/settings
[root@server ~]#mv thold-0.41 /var/www/html/cacti/plugins/thold
登录cacti-----console
安装启用对应的插件即可。
这里以monitor为例:选择user Management -----admin ------plugin management(打上钩),-----Save;
plugin management----- Actions 安装
五、常见故障排除
[root@server ~]# tail /var/log/httpd/error_log //查看日志
[root@server ~]# tail /var/log/messages //查看日志
1.安装完毕在浏览器上无法看到数据的png图片。请查看apache的log
如果出现:
[Thu Feb 09 15:12:24 2006] [error] [client 127.0.0.1] File does not exist:/var/www/html/favicon.ico
ERROR: opening '/var/www/html/cacti/rra/localhost_mem_buffers_3.rrd': Permission denied(没有权限)
PS:解决方法:关闭selinux,即可解决问题。
注意:无法获取数据图大多和poller.php,cmd.php权限有关。
2.当cacti 有图没有数据时,而且状态为nan的错误
PS:这个很可能是snmp的问题,执行以下命令,没有得到如图的结果。就说明snmp不支持64位MIB库。请重新编译安装snmp。
[root@server ~]# snmpwalk -c public -v 2c 127.0.0.1 IF-MIB::ifHCInOctets
IF-MIB::ifHCInOctets.1 = Counter64: 2105
IF-MIB::ifHCInOctets.2 = Counter64: 1810779
3.如果出现问题请注意一下snmp协议的版本,被监控主机无法获得snmp信息,还有可能是对方主机snmp版本和当前主机的snmp版本不一致导致的。都用version 1是一种解决方法
如果都用version 1,需要把所有监控机和被监控机的snmpd.conf改一下
#vi /etc/snmp/snmpd.conf
将下边这行
view systemview included .1.3.6.1.2.1.1
改为:
view systemview included .1.3.6.1.2.1
PS:rrdtools版本要一致,特别是在升级cacti时候。版本不一致,可能rra数据格式不同。
就无法处理。
排错方法以及思路:
1.查看log下的日志文件。一般那里会有提示;
2.测试SNMP是不是工作正常 #snmpwalk -v 2c -c public hostIP 如果正常的话会出现一些数据。不正常会出现一些错误,也会有对应的错误提示;
3.自动运行poller.php没有,有没有加入cacti的的用户,有没有给cacti用户写入rra/ log/的权限;
4.#crontab -u cactiuser -e 为cactiuser加上自动运行poller.php的任务:
*/5 * * * * root /usr/local/bin/php /usr/local/share/cacti/poller.php /dev/null 2>&1
5.把cacti目录里的cmd.php和poller.php文件加下运行的权限;