【3.A.S.T】网络安全爱好者's Archiver

黑客学习

小七哥 发表于 2009-10-23 07:18

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

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

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

一、Host

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

1、host表

host表有34个字段,用来存放设备信息,就是我们在console的devices选项中可以看到,并且配置的东东。具体字段的含义如下:[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

id:就是设备的id,自增

host_template_id:如果这个设备使用了模板,那这个就是模板的id[size=1][color=white]信息来自:[/color][/size][url=http://www.3ast.com.cn/][size=1][color=white]http://www.3ast.com.cn[/color][/size][/url]

description:描述,在cacti里看到的设备名[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

hostname:设备ip地址[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

notes:不做解释

snmp_community、snmp_version、snmp*......:snmp相关的配置选项,就是字面的意思[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

availability_method:在页面上看就是Downed Device Detection,我理解就是,如何看这台设备是否挂了[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

ping_method:udp ping还是icmp,还是tcp[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

ping*......:ping的相关选项,字面意思[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

max_oids:一次最多get多少个oid[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

status*......:设备当前状态相关,字面意思[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

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

total_polls:总共取了多少次值了[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

failed_polls:失败了多少次[size=1][color=white]信息来自:[/color][/size][url=http://www.3ast.com.cn/][size=1][color=white]http://www.3ast.com.cn[/color][/size][/url]

availability:可用性,上面两个字段算出来的[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]


2、host_template表[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

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

3、host_template_graph表[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

模板的对应,存放的信息主要是,一个设备模板,需要绘什么图,也就是设备模板和绘图模板的对应关系,就两个字段,host_template_id和graph_template_id,graph_template_id就是graph_templates里面的id值。[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

4、host_template_snmp_query表[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

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

每个snmp_query,都会对应有graph,如果一个设备模板,对应了一个snmp_query,这个snmp_query又对应了一系列的graph,那这个设备模板就自动对应这些graph,而这个关系在host_template_graph里是没有的[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

5、host_graph表

设备和图片模板的对应,也是两个id,host_id和graph_template_id,graph_template_id在graph_templates表中定义。[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

一般来讲,这个设备下的图片,会包含它所属的设备模板和图片模板的对应,也就是说,这个对应关系,和host_template_graph表中有些类似。[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

6、host_snmp_cache表[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

存放snmp去取值时的临时值,例如网络流量,需要的是累加值,那这里就存上次的总值,用来计算用[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

7、host_snmp_query表[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

设备和snmp_query的对应,和host_graph类似,这个对应关系,和host_template_snmp_query表中的数据是对应的。[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]





二、Data

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

1、data_input表

数据获取的方式,在console中的data_input_method里可以看到。[size=1][color=white]信息来自:[/color][/size][url=http://www.3ast.com.cn/][size=1][color=white]http://www.3ast.com.cn[/color][/size][/url]

id:数据获取方式的id

hash:对应的磁盘索引

name:数据获取方式的名字

input_string:如果是脚本的话,那就是脚本的位置了[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

type_id:type一直没找到对应的表,可能是程序里写死了,对应的是input_type,有6个选项,分别是:snmp、snmp query、script/command、script query、script – script server、script query – script server[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

2、data_input_fields表[size=1][color=white]信息来自:[/color][/size][url=http://www.3ast.com.cn/][size=1][color=white]http://www.3ast.com.cn[/color][/size][/url]

这张表是用来存放一些data_input方法中所需要的对象,比如snmp的oid,那就是一个对象,script方式取硬盘时候,取回来值的名字,单位,都属于它所定义的范畴。表内容,主要是这些对象,和data_input的对应。[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

id:input_fields的id[size=1][color=white]信息来自:[/color][/size][url=http://www.3ast.com.cn/][size=1][color=white]http://www.3ast.com.cn[/color][/size][/url]

data_input_id:对应data_input表中的id[url=http://www.3ast.com.cn][color=#FFFFFF]黑客[/color][/url]

name、data_name:名字

input_output:输入还是输出[url=http://www.3ast.com.cn][color=#FFFFFF]网络安全[/color][/url]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.