轻松架设时时监控工具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的安装指南,如图所示,设置好就不会再出现了。
点击 “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的更多相关文章
- 监控工具cacti
一. 安装 cacti服务端 1. 首先要安装epel扩展源yum install -y epel-release2. (lamp)然后分别安装httpd.php.mysqlyum install - ...
- 性能监控工具——Cacti安装文档
一.Cacti安装说明 1.安装说明 一般性的安装说明,详细的操作系统具体的安装说明可用于Linux. 2.服务器安装要求 RRDTool 1.2.x或更高版本 MySQL 4.1.x或5.x更高版本 ...
- 企业级监控工具Cacti安装配置全过程
Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过 snmpget来获取数据,使用 RRDtool绘画 ...
- 管理员必备的20个Linux系统监控工具
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...
- (转)Linux监控工具
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧. 大多数Linux发行版本都装备了大量的监控工具,这些工具提供了能用作取得相关信息和系统活动的量度指标. 你能使用这些工具发现造 ...
- 系统管理员必须掌握的20个Linux监控工具
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用 作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成 ...
- 系统管理员都要知道的 30 个 Linux 系统监控工具
1. top - 进程活动监控命令 top 命令会显示 Linux 的进程.它提供了一个运行中系统的实时动态视图,即实际的进程活动.默认情况下,它显示在服务器上运行的 CPU 占用率最高的任务,并且每 ...
- 管理员必备的几个Linux系统监控工具
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...
- Windows Server 2008 架设 Web 服务器教程(图文详解)
Windows Server 2008 架设 Web 服务器教程(图文详解) 一.安装 IIS 7.0 : 虽然 Windows Server 2008 内置了I IS 7.0,但是默认情况下并没有安 ...
随机推荐
- Java 读取文件到字符串
Java的io操作比较复杂 package cn.outofmemory.util; import java.io.BufferedReader; import java.io.FileInputSt ...
- 集群之LVS(负载均衡)详解
提高服务器响应能力的方法 scale on 在原有服务器的基础上进行升级或者直接换一台新的性能更高的服务器. scale out 横向扩展,将多台服务器并发向外响应客户端的请求.优点:成本低,扩展 ...
- IntelliJ13+tomcat+jrebel实现热部署(亲测可用)
网上有很多介绍intellij idea整合jrebel插件实现热部署的文章,但是有的比较复杂,有的不能成功,最后经过各种尝试,实现了整合,亲测可用!步骤说明如下: 一.先下载jrebel安 ...
- 处理Json数据中的日期类型.如/Date(1415169703000)/格式
在asp.net mvc后台返回到视图中的json数据中想对数据进行操作,发现日期类型无法直接进行操作,需要转换为指定格式才行.在网上也搜了下方法也很多,觉得有点麻烦,最终使用正则搞定了,分享下: v ...
- codevs3031 最富有的人
题目描述 Description 在你的面前有n堆金子,你只能取走其中的两堆,且总价值为这两堆金子的xor值,你想成为最富有的人,你就要有所选择. 输入描述 Input Description 第一行 ...
- HDU1242 Rescue
Rescue Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u Description A ...
- 我所了解的javaScript细节
变量转换 var myVar = "3.14159", str = ""+ myVar,// to string int = ~~myVar, // to in ...
- Laravel教程 三:视图变量传递和Blade
Laravel教程 三:视图变量传递和Blade 此文章为原创文章,未经同意,禁止转载. Blade 上一篇我们简单地说了Router,Views和Controllers的工作流程,这一次我就按照上一 ...
- linux学习之系统管理、网络配置、软件安装
一.ifconfig,命令查看linux系统IP 二.su切换到root下(已是root用户不用切换),使用setup命令启用界面操作 CentOS我安装的是Minimal版本,没有安 ...
- tp框架做留言板
首先是登录的LoginController.class.php 代码内容是 <?php namespace Admin\Controller; use Think\Controller; cla ...