返回列表 发帖

【技术】CACTI表结构和数据被动获取

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

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

一、Host

cacti的host一般是要使用模板的,每个host自己的信息,只存放在host表中,其余的就都是模板的信息,模板的对应关系等等。信息来自:http://www.3ast.com.cn

1、host表

host表有34个字段,用来存放设备信息,就是我们在console的devices选项中可以看到,并且配置的东东。具体字段的含义如下:黑客

id:就是设备的id,自增

host_template_id:如果这个设备使用了模板,那这个就是模板的id信息来自:http://www.3ast.com.cn

description:描述,在cacti里看到的设备名网络安全

hostname:设备ip地址网络安全

notes:不做解释

snmp_community、snmp_version、snmp*......:snmp相关的配置选项,就是字面的意思网络安全

availability_method:在页面上看就是Downed Device Detection,我理解就是,如何看这台设备是否挂了黑客

ping_method:udp ping还是icmp,还是tcp黑客

ping*......:ping的相关选项,字面意思网络安全

max_oids:一次最多get多少个oid网络安全

status*......:设备当前状态相关,字面意思黑客

一堆time:不太清楚,应该是pollor相关的,具体单位不知

total_polls:总共取了多少次值了网络安全

failed_polls:失败了多少次信息来自:http://www.3ast.com.cn

availability:可用性,上面两个字段算出来的网络安全


2、host_template表网络安全

设备模板,总共就三个字段,第一个是id,就是host_template_id,在host表里有引用,第二个是个哈希,就是模板的位置索引,第三个是索引名字。信息来自:http://www.3ast.com.cn

3、host_template_graph表黑客

模板的对应,存放的信息主要是,一个设备模板,需要绘什么图,也就是设备模板和绘图模板的对应关系,就两个字段,host_template_id和graph_template_id,graph_template_id就是graph_templates里面的id值。黑客

4、host_template_snmp_query表黑客

模板和数据抓取方式的对应,对应的数据抓取方式就是snmp_query_id,在snmp_query表的id值。

每个snmp_query,都会对应有graph,如果一个设备模板,对应了一个snmp_query,这个snmp_query又对应了一系列的graph,那这个设备模板就自动对应这些graph,而这个关系在host_template_graph里是没有的网络安全

5、host_graph表

设备和图片模板的对应,也是两个id,host_id和graph_template_id,graph_template_id在graph_templates表中定义。网络安全

一般来讲,这个设备下的图片,会包含它所属的设备模板和图片模板的对应,也就是说,这个对应关系,和host_template_graph表中有些类似。黑客

6、host_snmp_cache表网络安全

存放snmp去取值时的临时值,例如网络流量,需要的是累加值,那这里就存上次的总值,用来计算用黑客

7、host_snmp_query表黑客

设备和snmp_query的对应,和host_graph类似,这个对应关系,和host_template_snmp_query表中的数据是对应的。黑客





二、Data

data主要就是数据获取,获取数据,然后存放到rrd文件中,这里存放的数据,主要就是如何获取数据、和如何存放数据这两种。

1、data_input表

数据获取的方式,在console中的data_input_method里可以看到。信息来自:http://www.3ast.com.cn

id:数据获取方式的id

hash:对应的磁盘索引

name:数据获取方式的名字

input_string:如果是脚本的话,那就是脚本的位置了网络安全

type_id:type一直没找到对应的表,可能是程序里写死了,对应的是input_type,有6个选项,分别是:snmp、snmp query、script/command、script query、script – script server、script query – script server黑客

2、data_input_fields表信息来自:http://www.3ast.com.cn

这张表是用来存放一些data_input方法中所需要的对象,比如snmp的oid,那就是一个对象,script方式取硬盘时候,取回来值的名字,单位,都属于它所定义的范畴。表内容,主要是这些对象,和data_input的对应。黑客

id:input_fields的id信息来自:http://www.3ast.com.cn

data_input_id:对应data_input表中的id黑客

name、data_name:名字

input_output:输入还是输出网络安全

返回列表