简介

Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。 软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。 

官方网站:http://www.cacti.net 

 一、安装所需要的软件

(1)在主监控机上安装apache+php+gd的web环境,推荐编译安装,在此直接用yum安装。

  #yum install -y 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安装

  #yum install -y rrdtool rrdtool-devel rrdtool-php

(3)配置Snmp信息

  Snmp配置

(4)启动相关服务

  #service snmpd start

  #service mysqld start

加入开机启动

 

  #chkconfig snmpd on

 

  #chkconfig --level 345 mysqld on

 

(5)安装Cacti

  #cd /usr/local/src/

  #wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz

   把解压后的包移动到你的相应的web目录
  #tar xvf cacti-0.8.7g.tar.gz
  #mv cacti-0.8.7g /var/www/html/cacti
(6)在数据库中建库、授权、导入数据库结构
  注意导入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;

      mysql>exit

  配置cacti以连接数据库,
  #vi /var/www/html/cacti/include/config.php
   主要修改连接数据库所对应的用户和密码

  配置MySQL

  启动httpd开启web服务
  #service httpd start

  开启服务报错

 

  Starting httpd: httpd: apr_sockaddr_info_get() failed for Centos
  httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

  解决方案:

  #vi /etc/httpd/conf/httpd.conf
  加入一句:

    ServerName localhost:80

  保存后重启Httpd服务

  #service httpd restart

  加入开机启动项

  #chkconfig --level 345 httpd on

(7)浏览器下配置

  用浏览器打开 http://192.168.24.202/cacti ,进行cacti的安装指南。

  若地址提示无效,因为系统禁止其他地址访问导致。

  解决方案:

 临时解决方案(不需重启):

 #iptables -I INPUT -p TCP --dport 80 -j ACCEPT

  解决方案2:

 直接修改config,将SELINUX设置为disable,需要重启

  #vi /etc/selinux/config

  

 

  关闭iptables
  #service iptables stop

  设置iptables 开奖关闭
  #chkconfig iptables off

 再次访问http://192.168.24.202/cacti ,会显示 cacti的安装指南。

   

                点击Next

 

                             选项New Install,点击Next

  

指定 rrdtool、 php、 snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 “NOT FOUND”的,点击 Finish 完成安装。

  

Cacti 默认的用户名与密码是 admin,输入用户名与密码,点击 login

  

当第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码,点击 save ,进入cacti控制台界面:

                                           点击 graphs,查看cacti 监控本机的图表

(8)增加入一个计划任务,使得 cacti 每五分钟生成一个监控图表。
  #crontab -e
  加入如下内容。注意poller.php的路径
  */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

  确保 /var/www/html/cacti/rra/目录存在
  如果暂时未看到图表,可以手工执行,生成图表
  #php /var/www/html/cacti/poller.php > /dev/null 2>&1

 

二、cacti常用插件安装

(1)先安装patch命令工具

  #yum install patch

  要安装别的插件前,先要安装cacti的一个patch--Plugin Architecture,才能支持插件

  下载cacti-plugin-0.8.7g-PA-v2.8.tar.gz

  下载路径:http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7g-PA-v2.8.tar.gz

  #tar xvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
  #cp -R cacti-plugin-arch/* /var/www/html/cacti/

    确保/var/www/html/cacti/路径存在

  #cd /var/www/html/cacti/

  #mysql -ucacti -pcacti cacti < pa.sql

    注:u后面为数据库名 P后面为数据库密码,红色标记的需注意。
  #patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff

  #vi include/config.php

  修改为$url_path = “/cacti/”;

 

 (2)安装Monitor监控插件

  Monitor下载地址:http://docs.cacti.net/plugin:monitor

  #tar zxvf monitor-v1.2-1.tgz

  #mv monitor/ /var/www/html/cacti/plugins/monitor

  启动PA和Monitor:

  

 

点击箭头开启后,显示如下:

 

四、安装mysql监控

(1)脚本下载以及设置

  脚本下载地址:http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

  #tar zxvf better-cacti-templates-1.1.8.tar.gz
  #cd better-cacti-templates-1.1.8

  #cp scripts/ss_get_mysql_stats.php /var/www/html/cacti/scripts/
 
修改ss_get_myqsl_stats.php
  #vi /var/www/html/cacti/scripts/ss_get_mysql_stats.php
  
 
 (2)在浏览器中导入模版
    模板位置:better-cacti-templates-1.1.8/templates/
  
 
 
若需要添加其他的监控方法一样的。
 
 
cacti安装使用中的错误及解决方法:http://www.linuxidc.com/Linux/2012-12/76138.htm
 
MYsql数据库服务器端配置见:http://www.cnblogs.com/10-22/articles/4097685.html