设为首页收藏本站我的广告

运维网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
运维网 首页 运维管理/经验/工具 Cacti 查看内容

Cacti如何实现被动数据获取

2012-5-30 13:17| 发布者: yunweiw.com| 查看: 1438| 评论: 0|原作者: 运维网|来自: 网络

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报警插件Thold基本设置(转)

上一篇:运维网集成制作发布的Cacti+Nagios(一键全自动安装)


鲜花

握手

雷人

路过

鸡蛋
加入阿里云推荐返利15%

最新评论

QQ|申请友链|sitemap|手机版|小黑屋|Archiver|运维网 ( 京ICP备16008201号  

GMT+8, 2016-12-8 08:09 , Processed in 0.031998 second(s), 28 queries , Xcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部