设为首页 收藏本站
查看: 1394|回复: 0

[经验分享] Cacti的库表结构-Data

[复制链接]

尚未签到

发表于 2015-9-7 14:19:31 | 显示全部楼层 |阅读模式
  cacti 的数据都是存放在rrdtool 中的,数据库存放的其实只是配置数据,cacti 的逻辑对象主要分为三种,data (数据)、graph (图片)、host (设备),这在它的表设计中也能很容易的看出来。所以,就分三个大类来讨论了
  二、 Data
  data 主要就是数据获取,获取数据,然后存放到 rrd 文件中,这里存放的数据,主要就是如何获取数据、和如何存放数据这两种。
  1 、 data_input 表
  数据获取的方式,在 console 中的 data_input_method 里可以看到。
  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 表
  这张表是用来存放一些 data_input 方法中所需要的对象,比如 snmp 的 oid ,那就是一个对象, script 方式取硬盘时候,取回来值的名字,单位,都属于它所定义的范畴。表内容,主要是这些对象,和 data_input 的对应。
  id : input_fields 的 id
  data_input_id :对应 data_input 表中的 id
  name 、 data_name :名字
  input_output :输入还是输出
  下面几个字段我也不清楚了……
  3 、 data_input_data 表
  存放的是每个 data 对象的 data_input_field 内容。
  data_input_field_id : data_input_field 中的 id
  data_template_data_id : data_template_data 中的 id
  4 、 data_local 表
  存放数据对象,就是在 console 中的 data source 页面看到的东东。不过这张表只是简单的定义一个对象和对应关系,对象的具体属性在另外的表中。
  id : data 的 id
  data_template_id :采用了哪个数据模板,在 data_templates 模板中定义
  host_id :是哪个设备的数据,在 host 中定义
  snmp_query_id :如果是通过 snmp_query 方式获取的,那对应的 snmp_query 的 id ,如果不是,则为 0
  snmp_index : snmp_query 方式获取数据时,获取数组的前缀。例如,流量获取中,端口的 index
  5 、 data_template 表
  数据模板,我们在 console 的 data templates 中看到的东东。
  id :数据模板的 id
  hash :索引
  name :名字
  6 、 data_template_data 表
  具体数据对象的信息,包含模板。可以认为,每一个对象都代表一个 rrd 文件。
  id : data 对象的 id
  local_data_template_data_id :如果使用了模板,那这个就是模板的 id ,定义的位置也是这个表
  local_data_id :对应的数据对象,在 data_local 表中定义
  data_template_id : data_template ,数据模板,在 data_template 表中定义。
  data_input_id :数据获取的方式,在 data_input 表中定义
  *name :名字,就是字面的意思
  data_source_path : rrd 文件的路径
  active :是否被激活,可以通过 enable/disable 来控制
  rrd_step :步长,默认是 300s ,就是 5 分钟,也就是多长时间存一个数据( rrdcreate 的选项)
  7 、 data_template_data_rra 表
  数据对象和 rra 的对应, rra 也是 rrdtool 中的概念,是一种数据归档压缩的机制。
  data_template_data_id :上张表中定义的 id
  rra_id :对应的 rra 的 id ,在 rra 表中定义
  8 、 data_template_rrd 表
  基本上也是 rrdtool 的配置选项,一个 rrd 文件可以存多列,叫做 ds ,每个列代表一组数据。这张表可以看成是对这个列的定义。
  id : ds 的 id
  local_data_template_rrd_id :如果使用了 ds 的模板,则这里定义模板的 id ,模板定义也在这张表中
  local_data_id :数据 id ,在 data_local 表中定义
  data_template_id :采用的数据模板,在 data_template_data 中定义
  其余的都是 rrdtool 在创建 rrd 文件时候,对这个 ds 的配置选项,例如最大值,名字等等。
  data 部分还是比较复杂的,如果和 host 连起来看,就更复杂了。抛开模板不谈,一般来讲是有以下的对应关系:
  1 、每个 host_id ,都有一组 local_data_id ,例如,一个 cisco 交换机的 cpu 就是一个 local_data_id ,它的一个端口—— te1/1 流量,也是一个 local_data_id 。一个 host_id 对应多个 local_data_id 。
  2 、每个 local_data_id ,就是一个数据源,它必须有一个 rrd 文件与他对应,所以每个 local_data_id 在 data_template_data 中,必定对应一行记录,必定有一个 rrd 文件。别看 data_template_data 中有那么多记录,其中 local_data_id 为 0 的,或者 rrd 路径为空的,那都是模板。
  3 、每个 rrd 文件,必然至少有一个 ds ,也就是在 data_template_rrd 中,至少有一条记录,例如流量,还是 cisco 的交换机,每个端口代表一个 local_data_id ,有一个 rrd 文件,有两个 ds ,流入和流出,那在 data_template_rrd 中就有两条记录。
  4 、 data_input 那几张表,主要是数据获取方式,数据获取方式有 6 种,我们一般用的是三种:脚本直接取,就是 script 、 snmp ,给个 oid 直接 get 、 snmp query ,就是 snmp 取回来一组数据,然后分组。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110654-1-1.html 上篇帖子: Windows版Cacti全新安装与升级 下篇帖子: cacti批量添加主机脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表