阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

利用Cacti实现监控

278次阅读
没有评论

共计 5455 个字符,预计需要花费 14 分钟才能阅读完成。

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),它能够存储的数据笔数在创建时就已经定义。

推荐阅读

CentOS 6 下 Cacti 搭建文档 http://www.linuxidc.com/Linux/2013-06/86595.htm

RHEL5.9 下 Cacti 监控部署详解 http://www.linuxidc.com/Linux/2013-06/85427.htm

CentOS 6.3 下 Cacti 安装详解 http://www.linuxidc.com/Linux/2013-05/84279.htm

CentOS Linux 下快速安装配置 Cacti 中文版 http://www.linuxidc.com/Linux/2013-03/81627.htm

Cacti 的详细介绍 :请点这里
Cacti 的下载地址 :请点这里

与商业监控软件的对比

利用 Cacti 实现监控

Cacti 的构架

利用 Cacti 实现监控

1、数据采集层:靠 snmp、命令或者脚本来获取数据,数 snmp 最常用

2、数据存储层:存储在 rrd(环状数据库)数据库中,利用 rrdtool 来对数据库进行操作。

Pdp:每个多少时间获取一次数据,但是数据库中存放的不是 pdp,而是经过聚合函数(求取平均值、绝对值 …..)后的表格 (RRA),这些表格需要数据库(数据源)进行管理,一个数据源可包括多个表格。

3、数据展现层

利用 web 页来展示

Cacti 监控的类型

利用 Cacti 实现监控

Cacti 工作原理

利用 Cacti 实现监控

下面我们来通过实例对 cacti 作进一步的了解

不过在这之前呢,我们先来了解一下 snmp 和 rrdtool

一、配置监控端

1、配置 ip 参数

利用 Cacti 实现监控

2、配置本地 yum

利用 Cacti 实现监控

3、安装需要的软件

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

利用 Cacti 实现监控

虽然该主机是 NMS(监管设备),但是同时也要监管自己

yum install net-snmp net-snmp-utils -y

4、开启服务

service snmpd start

5、snmp 版本

1、2c 以及 3 三个版本,前两个版本靠团体名实现身份验证,属于明文验证;3 版本靠账号实现验证,属于密文验证,较为安全,但是也较为麻烦,2c 版本较为流行。

6、实用工具实现与 agent 的信息交流

利用 Cacti 实现监控

-v 版本 - c 团体名(默认为 public)监控为本机

7、但是我们发现只监控到了 SNMPv2-MIB、HOST-RESOURCES-MIB 的信息

我们可以再配置文件中设置要监控的内容

/etc/snmp/snmpd.conf

利用 Cacti 实现监控

修改后

利用 Cacti 实现监控

添加监控 tcp 的配置

8、查看

service snmpd restart

利用 Cacti 实现监控

可以看到 TCP 的信息都出现了

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2013-11/92520p2.htm

二、配置被监控端

1、安装服务

利用 Cacti 实现监控

利用 Cacti 实现监控

2、配置

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

(向监控端出示证明)

利用 Cacti 实现监控

利用 Cacti 实现监控

(此服务应用于监管设备上边,应禁用)

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),它能够存储的数据笔数在创建时就已经定义。

推荐阅读

CentOS 6 下 Cacti 搭建文档 http://www.linuxidc.com/Linux/2013-06/86595.htm

RHEL5.9 下 Cacti 监控部署详解 http://www.linuxidc.com/Linux/2013-06/85427.htm

CentOS 6.3 下 Cacti 安装详解 http://www.linuxidc.com/Linux/2013-05/84279.htm

CentOS Linux 下快速安装配置 Cacti 中文版 http://www.linuxidc.com/Linux/2013-03/81627.htm

Cacti 的详细介绍 :请点这里
Cacti 的下载地址 :请点这里

与商业监控软件的对比

利用 Cacti 实现监控

Cacti 的构架

利用 Cacti 实现监控

1、数据采集层:靠 snmp、命令或者脚本来获取数据,数 snmp 最常用

2、数据存储层:存储在 rrd(环状数据库)数据库中,利用 rrdtool 来对数据库进行操作。

Pdp:每个多少时间获取一次数据,但是数据库中存放的不是 pdp,而是经过聚合函数(求取平均值、绝对值 …..)后的表格 (RRA),这些表格需要数据库(数据源)进行管理,一个数据源可包括多个表格。

3、数据展现层

利用 web 页来展示

Cacti 监控的类型

利用 Cacti 实现监控

Cacti 工作原理

利用 Cacti 实现监控

下面我们来通过实例对 cacti 作进一步的了解

不过在这之前呢,我们先来了解一下 snmp 和 rrdtool

一、配置监控端

1、配置 ip 参数

利用 Cacti 实现监控

2、配置本地 yum

利用 Cacti 实现监控

3、安装需要的软件

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

利用 Cacti 实现监控

虽然该主机是 NMS(监管设备),但是同时也要监管自己

yum install net-snmp net-snmp-utils -y

4、开启服务

service snmpd start

5、snmp 版本

1、2c 以及 3 三个版本,前两个版本靠团体名实现身份验证,属于明文验证;3 版本靠账号实现验证,属于密文验证,较为安全,但是也较为麻烦,2c 版本较为流行。

6、实用工具实现与 agent 的信息交流

利用 Cacti 实现监控

-v 版本 - c 团体名(默认为 public)监控为本机

7、但是我们发现只监控到了 SNMPv2-MIB、HOST-RESOURCES-MIB 的信息

我们可以再配置文件中设置要监控的内容

/etc/snmp/snmpd.conf

利用 Cacti 实现监控

修改后

利用 Cacti 实现监控

添加监控 tcp 的配置

8、查看

service snmpd restart

利用 Cacti 实现监控

可以看到 TCP 的信息都出现了

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2013-11/92520p2.htm

三、Rrdtool

功能:收集数据、绘图

收集数据

1、上传需要的软件包

利用 Cacti 实现监控

2、安装

yum localinstall rrd* –nogpgcheck

3、

rrdtool create test.rrd -s 5 DS:testds:GAUGE:8:0:U RRA:AVERAGE:0.5:1:17280 RRA:AVERAGE:0.5:10:3456

利用 Cacti 实现监控

查看每隔五秒的平均值

利用 Cacti 实现监控

4、到现在为止数据库和表格都有了,接下来传入数据

从上图看到显示的信息都是按照每隔 5 秒显示的,但是在实际的环境中我们需要不停地循环的接收数据,这就需要一个脚本来做些控制

vim rrd.sh

利用 Cacti 实现监控

执行脚本

bash rrd.sh

等执行一会在查看文件的数据信息

利用 Cacti 实现监控

5、rrdtool fetch test.rrd AVERAGE(不指定时间默认为每隔 5 秒查询一次)

利用 Cacti 实现监控

看到已经有信息了

四、实现用图形界面来配置 Cacti 监控工具

1、搭建环境

yum install httpd php php-mysql php-snmp mysql-server perl-DBD-MYSQL php-pdo net-snmp-libs net-snmp-devel ruby ruby-devel

2、开启 apache 服务和 mysql 服务并设置为开机启动

利用 Cacti 实现监控

service mysqld start

chkconfig mysqld on

为了安全为 mysql 设置密码

mysqladmin -u root -p password ‘123’

3、在数据库中新建存放 cacti 相关资料的数据库,并授权一个账号来管理数据库

利用 Cacti 实现监控

4、建立虚拟目录

tar zxvf cacti-0.8.7g.tar.gz

mv cacti-0.8.7g /var/www/html/

5、向数据库中导入数据

cd /var/www/html/ cacti-0.8.7g

mysql -u root -p cacti

进入数据库查看的话会发现刚建的数据库中已经有好多的表格

利用 Cacti 实现监控

6、把收集信息的工作做成计划任务

利用 Cacti 实现监控

7、

利用 cacti 连接数据库的时候需要连接账号

cd include

vim config.php

利用 Cacti 实现监控

service httpd restart

8、创建用户

cd ..

查看该目录下的详细信息

利用 Cacti 实现监控

可以看到该目录下文件的 UID 都是 1000,为了让 cacti 能够以 cacti 的身份来在 log 和 rra 文件下创建相应的文件,我们需要创建相应的用户

利用 Cacti 实现监控

改变文件的所属者

chown -R cacti log rra

cd ..

mv cacti-0.8.7g/ cacti

9、接下来就能在 web 页面中进行 cacti 的配置了

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

进入登陆页面,首先用默认密码登陆

利用 Cacti 实现监控

进入之后修改密码

利用 Cacti 实现监控

进入下面的配置页面

利用 Cacti 实现监控

模板:方便了相同的机器实施相同的监测,一个主机模板包括一个或多个图形模板,图形模板又包括数据模板。

作相应的设置

全局配置

Cacti

五、通过各种案例来进一步了解 cacti

案例一:利用 cacti 监管本机

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

保存后可以看到信息发生了改变

利用 Cacti 实现监控

提示我们已经改为利用 SNMP 来探测信息

创建图形

利用 Cacti 实现监控

利用 Cacti 实现监控

然后就能看见创建后的信息

利用 Cacti 实现监控

这里没有显示是因为创建需要一个过程

创建的文件放在一个特定的目录下

利用 Cacti 实现监控

可以看到现在还没有生成关于我们创建的文件,其实该目录下的文件可以通过命令创建的,不过现在的话,我们可以利用 cacti 工具而不需要记忆繁琐的命令和参数了

等待一段时间后就会看见下面的图片

利用 Cacti 实现监控

相应的目录下也会有相应的文件

Cacti

案例二:利用 cacti 监管另一台 windows 主机

还使用之前配置为 SNMP 客户端的 windows 主机

查看一些参数

利用 Cacti 实现监控

可以看到 SNMP 的 161 端口已经开启

为 windows 主机创建树节点

利用 Cacti 实现监控

保存

查看

利用 Cacti 实现监控

发现在树下面多了 server 的节点

管理 windows

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

保存后绘制图形

利用 Cacti 实现监控

利用 Cacti 实现监控

但是想要用图形查看到 window 主机的状态,还要把 windows 主机挂到树上

利用 Cacti 实现监控

利用 Cacti 实现监控

如果创建好之后并没有看见图形,是因为需要一个过程,在等待一些时间后,重新登录就会看见绘制的图形了,相应的在监控端的 rrd 目录下也有了相应的文件

利用 Cacti 实现监控

Cacti

案例三:对 apache 服务时限监控

Cacti 在监控服务的时候就不能再用 snmp 来获取信息了,这时候就需要相应的脚本来获取服务的状态信息

1、对于本实验首先要把需要的脚本文件传到相应的目录下,另外把需要的模板导入到 cacti 中

需要的脚本

ss_apache_stats.php

需要的模板

cacti_host_template_webserver_-_apache.xml

利用 Cacti 实现监控

利用 Cacti 实现监控

2、修改 apache 配置文件

vim /etc/httpd/conf/httpd.conf

利用 Cacti 实现监控

利用 Cacti 实现监控

之后重启服务

service httpd restart

3、查看获得的 apache 信息

利用 Cacti 实现监控

4、导入模板后就在 cacti 的 web 管理界面中就能看到有关 apache 的相关选项

利用 Cacti 实现监控

添加部分要监控的选项

利用 Cacti 实现监控

利用 Cacti 实现监控

利用 Cacti 实现监控

做完这些之后就可以查看到相应的图片,等待一些时间就会逐渐显示出来

利用 Cacti 实现监控

至此,我们已经对于 cacti 有了初步的了解,当然 cacti 能够监控的不仅仅是这些,只需要添加相应的模板就行了,就不一一列举了,我们可以参照相关文章来完成。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5455字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中