Cacti如何实现被动数据获取

运维 系统运维
Cacti如何实现被动数据获取:cacti是一套开源的网络监控工具,基于rrdtool的良好绘图功能,可以完美的监控主机的状态和负载情况,添加相应的模板后,可以用来监控apache服务器和mysql服务器的运行状态。本文讲述的是Cacti如何实现被动数据获取

  cacti 我们也用了很久了,但是它的表结构一直都没有去关心过,得空抽了半个晚上的时间,把它的库表结构大概看了下,某些字段的含义跟大家分享下:

  cacti 的数据都是存放在rrdtool 中的,数据库存放的其实只是配置数据,cacti 的逻辑对象主要分为三种,data (数据)、graph (图片)、host (设备),这在它的表设计中也能很容易的看出来。所以,就分三个大类来讨论了

  Cacti 如何实现被动数据获取

  了解到它的数据结构以后,我们就可以想办法来实现 cacti 的被动数据获取了,因为并不是所有场合, snmp 都可以取到数据的,也许有时候我们要取的 ip 在另外一个局域网里,也许我们觉得 cacti 的负载太高,不能让它取太多的数据。

  1 、方式

  方式很简单,在 cacti 中定义好 host , data , graph ,然后只要我们能定时的把数据插入到它的 rrd 文件中就可以了。

  2 、方法

  方法可以有两种:

  ***种用脚本, cacti 支持自写脚本取数据。最土的办法,就是定时的将数据推送到 cacti 的机器上,追加到一个文件里,然后 cacti 通过一个脚本读取这个文件来获取数据。

  第二种就是直接插 rrd 文件, cacti 正常的获取数据方式是用 crontab 跑 poller ,或者 spine ,去定时取数据。我们在 poller 或者 spine 的过程中不需要让它去取数据,直接跳过,而定时的从外部把数据推送进来,然后插入 rrd 文件即可。

  3 、步骤

  a 、添加一个 host (如果这个 host 无法访问到,那么可用性检查会失败,但是没关系)

  b 、添加数据源,需要 insert 以下几张表: data_local 、 data_template_data 、 data_template_data_rra 、 data_template_rrd

  c 、创建 rrd 文件,打开 data source 页面,应该已经可以看到我们添加的数据源了,打开那个数据源的 debug 模式,将 rrdtool 的命令拷贝到 shell 中执行一次即可(注意权限)

  d 、创建一个图片,需要 insert 以下几张表: graph_local 、 graph_template_graph 、 graph_template_item

  e 、定时的向 rrd 文件中插入数据(用你喜欢的方式,同时要注意 rrd 文件的权限)

【编辑推荐】

修改Cacti中rrd文件大小

Redhat下怎样安装Cacti

用Linux上的cacti去监控windows服务器(图)

责任编辑:zhaolei 来源: csdn
相关推荐

2010-06-30 10:52:12

snmp服务Cacti

2011-03-25 10:47:17

Cacti备份数据

2010-06-17 17:22:30

Cacti 监控Lin

2009-12-11 17:52:21

PHP获取博客数据

2011-04-01 16:29:27

Cacti监控apache

2011-04-01 16:30:49

cacti监控Mysql

2011-04-01 16:29:23

Cacti监控Tomcat

2011-03-31 15:41:51

Cacti数据表结构

2019-09-10 12:59:45

2011-03-29 09:08:47

2011-03-29 09:08:49

Linux配置Cacti

2011-03-29 09:08:50

Linux配置Cacti

2011-03-25 09:00:39

Cacti模板

2010-05-31 14:47:28

Cacti配置

2010-06-07 15:12:12

Cacti配置

2011-03-25 12:57:13

备份Cacti数据

2011-03-31 12:17:07

Cacti备份

2011-03-24 14:05:18

Cacti

2012-02-01 13:33:45

2011-04-01 16:23:14

Cacti监控Nginx
点赞
收藏

51CTO技术栈公众号