CentOS 6.3 运维监控之Cacti 详细安装(一)

一、准备安装
环境: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文件加下运行的权限; 
 

你可能感兴趣的:(centos,6.3,运维监控)