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. MyEclipse8.5快速搭建SSH框架

    来源于:http://jingyan.baidu.com/article/a378c960a78125b3282830cc.html MyEclipse8.5快速搭建SSH框架 使用版本: Strut ...

  2. C基础--C语言的数组

    数组的定义: 一.正确写法: 1.int ages[5]--定义了一个5个长度的int类型的数组 2.int ages[]={1,2,3,4,5};--定义了一个5个长度的int类型的数组,并且初始化 ...

  3. IntelliJ13+tomcat+jrebel实现热部署(亲测可用)

       网上有很多介绍intellij idea整合jrebel插件实现热部署的文章,但是有的比较复杂,有的不能成功,最后经过各种尝试,实现了整合,亲测可用!步骤说明如下:   一.先下载jrebel安 ...

  4. .net架构设计读书笔记--第三章 第9节 域模型实现(ImplementingDomain Model)

        我们长时间争论什么方案是实现域业务领域层架构的最佳方法.最后,我们用一个在线商店案例来说明,其中忽略了许多之前遇到的一些场景.在线商店对很多人来说更容易理解. 一.在线商店项目简介 1. 用例 ...

  5. Hibernate-二级缓存 sessionFactory

    Hibernate 二级缓存 二级缓存需要sessionFactory来管理,它是进初级的缓存,所有人都可以使用,它是共享的. 当Hibernate根据ID访问数据对象的时候,首先从Session一级 ...

  6. fedora安装软件

    jdk 1.下载rpm包 注意32位还是64位,注意是rpm格式 2.安装 sudo rpm -ivh jdk.rpm sudo update-alternatives --config java # ...

  7. BZOJ-2190 仪仗队 数论+欧拉函数(线性筛)

    今天zky学长讲数论,上午水,舒爽的不行..后来下午直接while(true){懵逼:}死循全程懵逼....(可怕)Thinking Bear. 2190: [SDOI2008]仪仗队 Time Li ...

  8. 【蒟蒻の进阶PLAN】 置顶+持续连载

    看到周围神犇们纷纷列计划,本蒟蒻也决定跟随他们的步伐,计划大约是周计划吧,具体怎么安排我也不确定.. 2015.12.30 刚刚学习完最基础的网络流,需要进行这方面的练习,从简到难,有空余的话尝试学习 ...

  9. 洛谷P1908 求逆序对 [归并排序]

    题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游 戏,现在他们喜欢玩统计.最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样 ...

  10. 洛谷P1108 低价购买

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...