Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1365485
  • 博文数量: 416
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 4258
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-23 22:13
文章分类

全部博文(416)

文章存档

2015年(7)

2014年(42)

2013年(35)

2012年(14)

2011年(17)

2010年(10)

2009年(18)

2008年(127)

2007年(72)

2006年(23)

2005年(51)

分类: LINUX

2013-05-03 14:30:50

原文地址:Cacti被动监控 作者:傲雪红梅

本文由李燕凌(秋荻)创作于2009.11.13 22:00

Cacti被动监控的概念

是指Cacti监控服务器不进行数据采集,只进行页面展示和配置,但前提是该Cacti服务器必须配置公网IP。然后在每个被监控局域网放一台服务器对其它服务器定期进行数据采集,并将采集的数据传回CACTI监控服务器。这样即使CACTI服务器与被监控机不在同一个局域网,并且被监控机没有公网IP,仍然可以实现监控。

1CACTI监控机

Cacti监控机放在主站(杭州),配置有公网IP121.0.25.80),且cacti的数据库命名为cactidb

2、采集数据的agent

北京、上海两个CDN站点,局域网内分别放了一台代理(192.168.0.25/192.168.1.25),用来采集局域网内其它被监控服务器的流量,并传回给主站的CACTI监控机。

3、被监控服务器

北京CDN192.168.0.100/192.168.0.101

上海CDN192.168.1.100/192.168.1.101

、创建设备

CACTI上添加设备(192.168.0.100),像通常一样填写需要的信息,然后在Associated Data Queries 下面添加“SNMP - Interface Statistics”,进入第二步。这时如果点击“”创建图片,端口信息将不会出现,因为CACTI监控服务器与被监控服务器是不通的,所以SNMP获取不到任何信息,因此需要经过第23两个步骤获取信息并插入数据库后,才能正确的创建图片。

、获取被监控设备的信息

agent192.168.0.25)上执行snmpwalk_cdn.pl脚本来获取被监控设备(192.168.0.100)的ifAliasifDescrifPhysAddressifIndexipAdEntIfIndexifNameifOperStatusifSpeedifType信息,并存入 snmp.txt文件。这些信息正是我们在创建图片的时候需要的信息。

用法:perl snmpwalk_cdn.pl

、将被监控设备的信息入CACTI数据库

snmp.txt文件拷贝到CACTI监控服务器上,与host_snmp_cache.pl脚本放在同一目录下,然后执行host_snmp_cache.pl脚本将snmp.txt里的数据插入cactidb库的host_snmp_cache表里。

用法:perl host_snmp_cache.pl

、创建图片

回到第一步的创建图片,选择该设备点击“”创建图片。到此, cacti192.168.0.100的监控配置便完成了,但它并不进行数据采集,也就是说不需要在crontab里执行php poller.php,对于数据的采集,还需要依靠check_traffic_cdn.pl脚本来完成。

、数据采集

check_traffic_cdn.pl脚本放到agent192.168.0.25)上,可以通过nagios调用来采集流量,也可以放到crontab里每5分钟执行一次,脚本的用法可以通过-h参数查看。

用法:check_traffic_cdn.pl -v 2 -c public -H 192.168.0.100

    该脚本主要是用来对本局域网的被监控服务器进行流量的采集,然后将采集到的数据送回主站的CACTI监控服务器。

、接收数据并更新

在主站CACTI监控服务器上配置好apache80端口,并启动apache,然后将rrd_update.pl程序放在apache/cgi-bin目录下,就可以接收agent192.168.0.25)传回的数据,并更新rrd数据库。

rrd_update.pl程序更新rrd数据库的思路:

1)通过agent传回的IP地址在cactidb数据库的host表中查找对应的idhost_id)号;

2)通过host_idagent传回的数据模板ID号(流量模板的ID号的41)在data_local表中查找对应的ID号(data_local_id;

(3)通过data_local_iddata_template_data表中查找RRD数据源的路径data_source_path

4)通过调用rrdtool对上面找到的数据源文件进行更新。

这样就可以在CACTI界面上看到以上数据生成的图像了。

 

对于其它服务器的监控重复以上步骤,只是不同的局域网用不同的agent采集数据罢了。这样一个针对流量的cacti被动监控就完成了。如果想进行CPU或内存等其它的监控,那就需要重新写一个脚本以替代check_traffic_cdn.pl脚本。

文件: Cacti被动监控.rar
大小: 202KB
下载: 下载
阅读(960) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~