Cacti的庫表結構-Host
cacti 我們也用了很久了,但是它的表結構一直都沒有去關心過,得空抽了半個晚上的時間,把它的庫表結構大概看了下,某些字段的含義跟大家分享下:
cacti 的數據都是存放在rrdtool 中的,數據庫存放的其實只是配置數據,cacti 的邏輯對象主要分為三種,data (數據)、graph (圖片)、host (設備),這在它的表設計中也能很容易的看出來。所以,就分三個大類來討論了
一、 Host
cacti 的host 一般是要使用模板的,每個host 自己的信息,只存放在host 表中,其余的就都是模板的信息,模板的對應關系等等。
1 、host 表
host 表有34 個字段,用來存放設備信息,就是我們在console 的devices 選項中可以看到,并且配置的東東。具體字段的含義如下:
id :就是設備的id ,自增
host_template_id :如果這個設備使用了模板,那這個就是模板的id
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 :失敗了多少次
availability :可用性,上面兩個字段算出來的
2 、host_template 表
設備模板,總共就三個字段,***個是id ,就是host_template_id ,在host 表里有引用,第二個是個哈希,就是模板的位置索引,第三個是索引名字。
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 表中的數據是對應的。
【編輯推薦】