Cacti的库表结构-Graph
创始人
2024-07-25 05:01:16
0

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

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

  Graph

  绘图方面,自定义的方法其实很多, cacti 并没有把 rrdtool 在绘图方面的参数全部表现出来,不过也已经够用了。

  1 、 graph_local 表

  本地的图片,和 data_local 类似,一般来讲,一个 data_local 的对象,都会对应一个 graph_local 的对象,意思就是,一个数据,对应一张图片,但是也有可能出现不对应的情况,那就是:我有些数据并不绘图、或者有些图我需要多个数据。

  表结构和 data_local 类似,不过 data_template_id 换成了 graph_template_id ,***个 id 字段代表的含义也变了,代表 graph 对象。

  2 、 graph_templates 表

  绘图模板。

  id :模板的 id

  hash :索引

  name :名称

  3 、 graph_template_input 表

  graph_template 对应的具体对象类型,比如说这个类型是个颜色,这个类型是流量数据流入的数据源,等等。

  id :数据类型的 id

  hash :索引

  graph_template_id :图片模型的 id ,在 graph_template 中定义

  name :名字

  description :不作说明了

  column_name :对象的类型,是颜色,还是数据源,还是一段文字

  4 、 graph_template_input_defs 表

  定义图中的具体对象类型和 item 的对应。

  graph_template_input_id : graph_template_input 的 id ,类型是什么

  graph_template_item_id :具体对象的 id ,在 graph_templates_item 中定义

  5 、 graph_templates_gprint 表

  输出格式

  6 、 graph_templates_graph 表

  绘图时候的选项,每张图在这张表中对应一条记录,大多是 rrdtool 的参数。和 data_template_data 类似。

  id :绘图选项的 id

  local_graph_template_graph_id :如果采用模板的话,这里就是模板的 id 。模板中定义好的东西,就不用重新定义了。在本张表中有定义

  local_graph_id :是哪张图,在 graph_local 中定义

  graph_template_id :在 graph_templates 表中定义的绘图模板

  剩下的都是 rrd 绘图的选项了,例如绘的图有多高,多宽,图片的名字是啥等等 ......

  7 、 graph_templates_item 表

  每张图上,对应的有些什么内容。内容主要是包含:线或者是面,就是趋势图、下面的标注,例如***值,最小值,当前值。

  id : item 的 id

  hash :

  local_graph_template_item_id :如果采用了模板,则写模板的 id ,在本表中定义

  local_graph_id :对象属于哪张图

  graph_template_id :在 graph_templates 表中定义的绘图模板

  task_item_id :如果对象的类型是 task_item_id (在 graph_template_input 中定义),则这里的 id 就是数据源的 id ,在 data_template_rrd 中定义。

  color_id :颜色,在 color 表中定义

  alpha :透明度

  graph_type_id :图的类型?

  cdef_id :如果这个值是计算出来的(例如多个值的累加),那这里要有计算的公式,在 cdef 表中定义

  consolidation_function_id :功能函数,比如取平均值,取***值等

  text_format :字符串,直接显示在图上的东东,可以理解为对象的名字

  value :值

  hard_return :不知

  gprint_id :输出格式

  sequence : rrd 的绘图是有顺序的, sequence 大的对象会覆盖 sequence 小的对象

  绘图的地方,是最复杂的地方,因为 rrdtool 本身在绘图的时候参数就是最多的,也是最复杂的,把这些东西都封装到数据库中,那这些表结构也是十分复杂的。一般情况下,可以这么理解:

  1 、每个 host_id 的对象,可以对应多张图,但是也有可能有某些图并不对应任何 host ,例如汇总的图。但是每张图必然在 graph_local 中有定义,就是有一个 local_graph_id 。

  2 、每张图片,在创建的时候肯定有很多参数,这些参数就是在 graph_template_graph 中定义的。如果采用了模板,那模板中定义过的参数,就不用再重复定义了。

  3 、每张图片,必然包含一个以上的对象,那就是 graph_template_item 了, item 有很多类型,例如,流量图中,绿色区域代表的流出、蓝色实线代表的流出,就分别代表一个对象。还有些对象,例如下标的***值,平均值等。这些对象,都是需要有数据源的,可能一个数据源,也可能需要多个,因为实际绘出来的值,是 cdef 把不同的数据源运算后得到的。这个数据源,就是 ds ,也就是 data_template_rrd 中的对象。

【编辑推荐】

修改Cacti中rrd文件大小

Redhat下怎样安装Cacti

用Linux上的cacti去监控windows服务器(图)

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...