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的安装指南,如图所示,设置好就不会再出现了。

点击 “Next”,显示如下:

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

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

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

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

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

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

此时我们的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”,来添加被监控的主机,如图:

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

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

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

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

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

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

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

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

轻松架设时时监控工具Cacti的更多相关文章

  1. 监控工具cacti

    一. 安装 cacti服务端 1. 首先要安装epel扩展源yum install -y epel-release2. (lamp)然后分别安装httpd.php.mysqlyum install - ...

  2. 性能监控工具——Cacti安装文档

    一.Cacti安装说明 1.安装说明 一般性的安装说明,详细的操作系统具体的安装说明可用于Linux. 2.服务器安装要求 RRDTool 1.2.x或更高版本 MySQL 4.1.x或5.x更高版本 ...

  3. 企业级监控工具Cacti安装配置全过程

      Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过 snmpget来获取数据,使用 RRDtool绘画 ...

  4. 管理员必备的20个Linux系统监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...

  5. (转)Linux监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧. 大多数Linux发行版本都装备了大量的监控工具,这些工具提供了能用作取得相关信息和系统活动的量度指标. 你能使用这些工具发现造 ...

  6. 系统管理员必须掌握的20个Linux监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用 作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成 ...

  7. 系统管理员都要知道的 30 个 Linux 系统监控工具

    1. top - 进程活动监控命令 top 命令会显示 Linux 的进程.它提供了一个运行中系统的实时动态视图,即实际的进程活动.默认情况下,它显示在服务器上运行的 CPU 占用率最高的任务,并且每 ...

  8. 管理员必备的几个Linux系统监控工具

    需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...

  9. Windows Server 2008 架设 Web 服务器教程(图文详解)

    Windows Server 2008 架设 Web 服务器教程(图文详解) 一.安装 IIS 7.0 : 虽然 Windows Server 2008 内置了I IS 7.0,但是默认情况下并没有安 ...

随机推荐

  1. linux php配置ftp扩展

    linux+nginx+php+mysql环境下,在部署的时候没有添加php的ftp扩展. 1.找到安装的PHP源码包解压的文件夹进入到到FTP的扩展目录# /root/php-5.3.6/ext/f ...

  2. 每天一个linux命令(26):du 命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...

  3. Java基础-内部类

    在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来说包括这四种:成员内部类.局部内部类.匿名内部类和静态内部类. 下面就先来了解一下这四种内部类 ...

  4. 【前端】less学习

    Less 是什么? Less is more,than CSS. Less就是搞笑高效编写和维护CSS的一种语法. 1.下载Koala考拉,一款国人编写的less开发器. 2.可以用Sublime T ...

  5. 【前端学习】sublime开启vim模式

    学习目标:在sublime下开启vim模式,了解基本vim的编辑快捷键. 下载安装Sublime Text 3 :http://www.sublimetext.com/3 Vim/Vi: Vim/Vi ...

  6. DNA repair问题

    问题:Biologists finally invent techniques of repairing DNA that contains segments causing kinds of inh ...

  7. codeforces 375D:Tree and Queries

    Description You have a rooted tree consisting of n vertices. Each vertex of the tree has some color. ...

  8. UVA1262Password(第K字典序)

    题目链接 紫书P323 题意:两个6*5的字母矩阵,两个矩阵每列相同的字母,每列取一个,求按照字典序第k小的序列 分析: 对于第一个样例来说,我们得到{ACDW}.{BOP}.{GMOX}.{AP}. ...

  9. $root knockout

    http://www.cnblogs.com/rohelm/p/3209757.html 以列表方式呈现数据  处理以数组形式储存的多条数据,要先认识foreach.在ViewModel定义一个Jav ...

  10. 新建android工程的时候eclipse没有生成MainActivity和layout布局

    一.新建android工程的时候eclipse没有生成MainActivity和layout布局 最近由于工作上的原因,开始学习Android开发,在入门的时候就遇到了不少的坑,遇到的第一个坑就是&q ...