zoukankan      html  css  js  c++  java
  • 轻松架设时时监控工具Cacti

    Cacti是一套基于PHP,MySQL,SNMP及 RRDTool开发的网络流量监测图形分析工具。通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。

        想要让cacti能够进行正常的工作少不了它的帮手工具snmp和RRDtool,下面我们就具体了解一下这两个帮手。

    SNMP

        snmp(Simple Network Management Protocal, 简单网络管理协议)在架构体系的监控子系统中将扮演重要角色。大体上,其基本原理是,在每一个被监控的主机或节点上 (如交换机)都运行了一个 agent,用来收集这个节点的所有相关的信息,同时监听 snmp 的 port,也就是 UDP 161,并从这个端口接收来自监控主机的指令(查询和设置)。
        如果使用 RHEL5 的 net-snmp,那么被监控主机需要安装 net-snmp(包含了 snmpd 这个 agent),而监控端需要安装 net-snmp-utils。如果自行编译,需要 beecrypt(libbeecrypt)和 elf(libraryelf)的库。
        每一个 agent 维护一个树形的数据库,称为 MID(Management Information Base, 管理信息库),其每一个节点称为 Object Identifier(OID),这在使用 net-snmp-utils 的工具时会用到。这些节点就表示了这台主机系统的设备如网卡的接口描述(eth0 等)、物理地址(MAC)、接口类型等,也可能是系统的信息,或者是需要监控的进程等...

    RRDtools

        使用RRDtool来存储和处理通过SNMP收集到的数据开始。这些数据很可能是某个网络或计算机接收或发送的字节数(比特数)。它也可以用来显示潮水的 波浪、阳光射线、电力消耗、展会的参观人员、机场附近的噪音等级、你喜欢的度假区的温度、电冰箱的温度、以及任何你可以想象的东西。
        你最需要一个度量数据,以及能够提供这些数据给RRDtool的感应器就可以了。RRDtool会让你创建数据库、存储数据、提取数据、创建用于在Web浏览器中显示的PNG格式的图像。这些PNG图像以来于你收集的数据,它可以是网络平均使用率、峰值。

    我们来看一下这套工具的应用范围:

       常见的监控应用主要有:

    1、监控服务器资源:CPU、内存、磁盘、进程、连接数等
    2、 监控服务器类型有:WEB、Mail、FTP、数据库、中间件
    3、 监控网络接口:流量、转发速度、丢包率
    4、 监控设备运行状态:风扇、电源、温度
    5、监控机房运行环境:电流、电压、温湿度

       这套工具的优点有:

    1、是开源软件
    2、界面相对其他监控软件很漂亮,能画出漂亮准确的数据图
    3、能够实现跨平台的监控
    4、具有很强的可扩展性,我们可以通过添加不同的模块来实现不同的监控功能

    快速安装Cacti

    一、环境介绍

    主监控机IP=192.168.0.82

    二、安装配置

    (1)在主监控机上安装必须的apache+php+gd的web环境,推荐编译安装,本此实验为了方便起见用yum装了
         yum install httpd php php-mysql php-snmp mysql mysql-server php-pdo perl-DBD-MySQL -y

    (2)在主监控机上安装帮手软件snmp极其相关组件
         yum install net-snmp net-snmp-libs net-snmp-utils -y

    (3)在主监控机上安装rrdtool,因为rrdtool依赖的包过多,所以我们选择增加源,然后用yum安装
         yum install rrdtool rrdtool-devel rrdtool-php -y 

         启动snmpd服务
         service snmpd start
         启动apache服务
         service httpd start
         启动mysql服务
        service mysqld start

         将snmp、httpd、mysqld服务加入开机自动启动行列:
         chkconfig snmpd on
         chkconfig httpd on
         chkconfig mysqld on

    (4)安装cacti

         把解压后的包移动到你的httpd中定义的相应的web目录下
         tar xvf cacti-0.8.7e.tar.gz
         mv cacti-0.8.7e /var/www/html/cacti

    (5)在数据库中建库、授权、导入数据库结构

         
         进行建库、授权、导入数据库结构工作
         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;

         配置cacti以连接数据库
         vi /var/www/html/cacti/include/config.php 进行如下修改
         $database_type = "mysql";
         $database_default = "cacti";
         $database_hostname = "localhost";
         $database_username = "cacti";
         $database_password = "cacti";
         $database_port = "3306";  
      

         到此我们已经将Cacti服务加起来了,接下来的工作就要通过web页面进行了

    (6)浏览器下配置

         首先我们要让snmp定时的做一个数据的读取,先设置为每五分钟读取一次相应的数据,使用定时器crontab来设置:
         crontab -e 写入如下内容:
         */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
         保存退出,或者直接在命令上执行一下php /var/www/html/cacti/poller.php命令,将会出现如下提示表示一切正常,否则可能出现显示不出来图片的情况。

      用浏览器打开 http://192.168.0.82/cacti,会显示cacti的安装指南,如图所示,设置好就不会再出现了。

    clip_image002

        点击 “Next”,显示如下:

    clip_image004

        选择“New Install”,点击“Next”,显示内容如下(这只是部分的图片)

    clip_image006

        指定 rrdtool、 php、 snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 “NOT FOUND”的,点击 Finish 完成安装,让出现输入账户和密码的界面,如图:

    clip_image007

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

        为了安全的原因,第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码,如图

    clip_image008

        然后、点击 save ,进入 cacti 控制台界面:

    clip_image009

        经过一段时间之后,我们就可以点击 graphs ,查看cacti 监控本机相应设备的图表,部分监控图标如图所示:

    clip_image010

    clip_image011


        此时我们的Cacti监控的只是本服务主机的情况,下面我们进行相应的配置让其能够监控其他的主机信息

        使用 Cacti 监控 Linux 主机

        在被监控的linux主机上安装net-snmp
        yum install net-snmp -y

        然后对主配置文件进行修改
        vim /etc/snmp/snmpd.conf
        具体修改如下所示:
          将下边这行中的default
          com2secnotConfigUser default public
          改为192.168.0.82(cacti)服务器的地址)
          com2secnotConfigUser 192.168.0.82 public 指定监控服务器主机的IP
          将下边这行中的systemview
          access notConfigGroup "" any noauth exact systemview none none
          改为
          access notConfigGroup "" any noauth exact all none none 将所有的权限都给执行Cacti服务的用户
         启用下列内容
         view all included .1 80

         接下来启动服务即可
         service snmpd start
         将snmp服务加入开机自动启动行列:
         chkconfig snmpd on
         到此我们在被监控端的linux主机上配置完毕

    打开我们的cacti管理页面进行如下配置:

         点击“Devices”,在此时我们可以看到被监控的只有localhost这一台主机,接下来我们点击右上角的“Add”,来添加被监控的主机,如图:

    clip_image013

        具体输入内容如图所示,其他的可以使用默认设置:

    clip_image014

        输入完毕,检查无误后,点击右下角的“Create”即可。
        如果添加成功,将在上角显示被监控主机的信息,如图所示:

    clip_image015

        接下来我们就该给cacti指定监控这个主机的哪些信息了,在这个页面的“Associated Graph Templates”栏内进行指定,如图所示:

    clip_image016

        选择、添加完成之后,点击页面右下角的“Save”即可。
        我们再次查看“Devices”的时候就可以看到我们新加的主机也在列表之内了,如图:

    clip_image017

         接下来我们要为我们的other linux主机创建一个图标树:
         在当前页面进行如图操作:

    clip_image019

         然后点击“Go”,将其加入到默认的树目录下:
         点击“Graph Trees”选项进入树目录管理界面,我们可以看到我们亲爱的other linux了,如图所示

    clip_image020

        接下来我们点击左上角蓝色半圆“graphs”选项,进入图标分析界面
        我们就可以看到cacti对other linux位于树目录的位置以及相应信息分析的图表了:

    clip_image021

        我在这里只监控了other linux的Memory额使用情况,大家还可以添加其他的监控选项,以及监控模版,以充分发挥cacti强大的时时监控及绘制图表的功能

  • 相关阅读:
    linux和windows双系统导致的时间日
    linux系统配置文件和用户配置文件及其作用
    Mac SVN 命令行
    Mac环境下svn的使用
    mac下为Apache 创建 .htaccess文件
    ThinkPHP单字母函数(快捷方法)使用总结
    Mac环境下svn的使用
    理解jquery的$.extend()、$.fn和$.fn.extend()
    PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
    方法重载和重写的区别
  • 原文地址:https://www.cnblogs.com/wicub/p/3380552.html
Copyright © 2011-2022 走看看