Centos6.6-cacti环境搭建

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

      Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

        Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

       snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。

前期准备工作:

Cacti官网:http://www.cacti.net/download_cacti.php

         找到Linux/Unix in tar.gz  format连接图标,

下载地址: http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

下载地址: http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz

确保前期安装需要准备的软件:

    net-snmp-devel

    mysql

    mysql-devel

    openssl-devel



准备所需要的软件包

    Apache     http://www.apache.org/

    Mysql      http://www.mysql.com/

    Php        http://www.php.net

    Rrdtool    http://oss.oetiker.ch/rrdtool/

    Net-snmp   http://www.net-snmp.org/

    Cacti      http://www.cacti.net/

    其中apache、mysql、php通过yum安装

 

下面简述安装过程:

一、安装RRDTool和SNMP

1 安装RRDTool

[root@localhost /]#yum -y install rrdtool

[root@localhost /]#service rrdcached start 失败报错:rrdcached: 未被识别的服务

[root@localhost /]#chkconfig rrdcached on 失败

#启动rrdtool服务并且加入启动列表

#下载地址:wget  http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.8.tar.gz

也chkconfig失败



2 安装snmp支持工具

可以yum安装,也可以源码安装,比如

#下载地址:wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6.2.1/net-snmp-5.6.2.1.tar.gz/download

[root@localhost /]#yum -y install net-snmp

[root@localhost /]#yum -y install net-snmp-utils

[root@localhost /]# service snmpd start

[root@localhost /]# chkconfig snmpd on

#启动snmpd服务并且加入启动列表


3 安装LAMP

[root@localhost /]# yum -y install httpd mysql-server php php-mysql mysql-devel

[root@localhost /]# chkconfig httpd on

[root@localhost /]# chkconfig mysqld on

[root@localhost /]# /etc/init.d/httpd start

[root@localhost /]# /etc/init.d/mysqld start


启动完httpd之后,直接在浏览器键入http://localhost  或 http://本机IP  ,应该会看到Apache的测试页面




二、然后下载cacti

到这里去下载cacti: wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

下载cacti-spine:wget  http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz

三、开始安装cacti-spine

1,建立cacti用户

[root@localhost /]# useradd -m cacti

[root@localhost /]# passwd cacti

密码:cacti

2,首先安装几个编译cacti-spine需要的devel包:

[root@localhost /]#yum -y install net-snmp-devel mysql-devel openssl-devel


3,安装gcc和libtool

[root@localhost /]#yum -y install gcc libtool


4,下载cactid并解压:

[root@localhost /]# tar -xf cacti-spine-0.8.8b.tar.gz
编译安装:

[root@localhost /]# cd cacti-spine-0.8.8b

[root@localhost cacti-spine-0.8.8b]# aclocal

[root@localhost cacti-spine-0.8.8b]# libtoolize --force

[root@localhost cacti-spine-0.8.8b]# autoheader

[root@localhost cacti-spine-0.8.8b]# autoconf

[root@localhost cacti-spine-0.8.8b]# automake

[root@localhost cacti-spine-0.8.8b]# ./configure

[root@localhost cacti-spine-0.8.8b]# make

[root@localhost cacti-spine-0.8.8b]# make install


5,安装好以后,我们需要再配置一下:


[root@localhost cacti-spine-0.8.8b]# cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf

[root@localhost cacti-spine-0.8.8b]# chown -R cacti.cacti /etc/spine.conf

[root@localhost cacti-spine-0.8.8b]# su - cacti

[cacti@localhost ~]$ vim /etc/spine.conf

DB_Host            localhost
DB_Database  cacti
DB_User           cactiuser
DB_Pass          cactiuser
DB_Port            3306
DB_PreG          0


6,启动一下看看

[cacti@localhost ~]$ /usr/local/spine/bin/spine

报错 :

SPINE: Using spine config file [/etc/spine.conf]
04/26/2013 10:53:14 AM - SPINE: Poller[0] FATAL: Connection Failed, Error:'1045', Message:'Access denied for user 'cactiuser'@'localhost' (using password: YES)' (Spine init)

原因:应为cactiuser没有权限访问cacti数据库,我修改了下cactiuser用户的密码就OK了

解决办法:创建cacti数据库

[root@localhost cacti-spine-0.8.8b]# mysqladmin create cacti

#创建一个cacti数据库

[root@localhost /]# mysql -e "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'"

#给cactiuser权限


再次启动

[root@localhost cacti-spine-0.8.8b]# /usr/local/spine/bin/spine   

报错:

SPINE: Using spine config file [/etc/spine.conf]   

05/16/2014 04:16:40 PM - SPINE: Poller[0] FATAL: MySQL Error:\'1146\', Message:\'Table \'cacti.settings\' doesn\'t exist\

原因:需要导入默认的cacti.sql,解压缩cacti-0.8.8b.tar.gz,获得cacti.sql

解决办法:

[root@localhost cacti-spine-0.8.8b]# tar -xvf cacti-0.8.8b.tar.gz   

[root@localhost cacti-spine-0.8.8b]# cd cacti-0.8.8b    

[root@localhost cacti-spine-0.8.8b]#mysql -u cacti_user -pcacti05261743 -h127.0.0.1 cacti </home/cacti/cacti-0.8.8b/cacti.sql   

[root@localhost cacti-spine-0.8.8b]# /usr/local/spine/bin/spine   

SPINE: Using spine config file [/etc/spine.conf]   

SPINE: Version 0.8.8b starting   

SPINE: Time: 0.1386 s, Threads: 5, Hosts: 2   


启动成功了。


四、我们开始安装正主cacti

1 配置

[root@localhost cacti-spine-0.8.8b]#tar -xf cacti-0.8.8b.tar.gz

[root@localhost cacti-spine-0.8.8b]#mv cacti-0.8.8b /var/www/html/cacti

[root@localhost cacti-spine-0.8.8b]#cd /var/www/html/

#解压并放到apache文档目录(/var/www/html)

#编辑CentOS cacti配置文件,连接MySQL服务的用户名,密码,端口等。

[root@localhost html]#vim /var/www/html/cacti/include/config.php   

$database_type = \"mysql\";   

$database_default = \"cacti\";   

$database_hostname = \"localhost\";   

$database_username = \"cactiuser\";   

$database_password = \"cactiuser\";   

$database_port = \"3306\";   

$database_ssl = false;    


2添加计划任务(使cacti每5分钟获得一次数据)

[root@localhost html]#crontab -e

*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1   //让系统每5分钟收集


3 数据库配置

在前面的第三步已经配置好了,创建数据库cacti以及用户。


4 测试,建立一个login.jsp文件

[root@localhost html]# vim test.php

<?php
        $link=mysql_connect("192.168.1.110","root","123qwe.");
        if(!$link)
                echo "FAILD!连接错误,用户名密码不对";
        else
                echo "OK!可以连接";
?>

注意:需要重启httpd服务


在浏览器键入http://本机IP/php/test.php  ,应该会看到如下页面

#测试php与mysql的连通!!!


5 web安装cacti

在浏览器键入http://本机IP/cacti  ,如下界面

点击next,继续下一步,其他的都死默认选项,默认登录用户名密码是admin:




五:Cacti监控mysql报表流量图:

[root@localhost ~]#wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

[root@localhost ~]#tar –xvf better-cacti-templates-1.1.8.tar.gz

[root@localhost ~]#cd better-cacti-templates-1.1.8

[root@localhost better-cacti-templates-1.1.8]#cp/root/better-cacti-templates-1.1.8/scripts/ss_get_mysql_stats.php/var/www/html/cacti/scripts/

#将better-cacti-templates-1.1.8\scripts下的 ss_get_mysql_stats.php 这个脚本 这个脚本需要放在cacti的服务端。

#比如cacti部署在/var/www/html目录下,那么就cp到/var/www/html/cacti/scripts/下

修改ss_get_mysql_stats.php 文件 第30行


$mysql_user = 'cacti_user';
$mysql_pass = 'cacti_user05161610';
$cache_dir = "/xok.la/cacti/cache/";

[root@localhost better-cacti-templates-1.1.8]#chown -R apache.apache/var/www/html/cacti/scripts

[root@localhost better-cacti-templates-1.1.8]#chmod -R 755 /var/www/html/cacti/scripts

使用 http 访问 cacti主机 导入

[root@localhost better-cacti-templates-1.1.8]#/opt/mysql-cacti-templates-1.1.2/cacti_host_template_x_db_server_ht_0.8.6i.xml

然后创建mysql用户:

grant process,super on *.* to 'cacti_user'@'%'identified by 'cacti_user05161610'; 

猜你喜欢

转载自blog.csdn.net/TZ_GG/article/details/52189507
今日推荐