Zabbix数据库表结构

一、简要介绍下zabbix数据库常用表,如果要更详细的了解,请看参考资料:https://wenku.baidu.com/view/8d56c7b489eb172ded63b7ea.html

  1. hosts 表(主机表)
    host就是指一台被监控的机器。

字段名称解释:
hostid:唯一标识host在zabbix及数据库的id
host:机器的hostname
hseip:是否用ip监控
port:监控使用的端口
status:机器目前的状态,0为正常监控,1为disable,2未知,3表示模板
flags:这个主机是否启用:0代表启用,1代表未启用
templateid:模板id(有点像自关联)
description:对主机的描述

  1. items 表(监控项表)
    items表也是zabbix的核心表之一,记录了item的所有设置,添加、删除、更新监控项等,items是zabbix数据库中存储的表

itemid: 监控项的id
hostid: 监控项所关联的host的hostid
name: 监控项的名字
history:监控项数据在历史表中保留的时间天数
status:监控项的状态:0代表能够使用,1代表不能够使用
value_type:重点中的重点:有五个值:0,1,2,3,4
– 每一次zabbix接收到item的数据以后会将其存入history表
– 根据 items中 value_type 的值,将数据插入到响应的 history 表
– history这部分表差不多,唯一不同的是保存的数据类型
history;– value_type=0
history_str;– value_type=1
history_log;– value_type=2
history_uint;– value_type=3
history_text;– value_type=4

  1. history表(历史表)
    历史表一共有5张表:
    这里写图片描述
    5张表字段都一样
    itemid:监控项的id
    clock:时间戳,监控项采集数据的触发时间,单位秒
    value:监控项采集数据的值
    ns:纳秒,不足1秒的时间记录在此,可忽略

  2. trends
    trends一共有两个表
    trends
    trends_unit
    两张表功能一样,只是存储的数据类型不同

二、接下来用实例来理解下4个表的关联。

需求:要查看主机(ip:172.16.2.59)的图形对应表中的数据

  1. 在hosts表中查询,获得172.16.2.69的hostid,这个是主机的唯一标识
    select * from hosts where host = ‘172.16.2.59’
    这里写图片描述

  2. 我们要查看Disk space usage / 图形在表中的情况,根据第一步获得的hostid = 10254,以及监控项名(swap space)来查找
    这里写图片描述
    select * from items where hostid = 10254 and name like ‘%swap space%’;
    这里写图片描述

查询结果中,
itemid=28299, free swap space,剩余swap内存
itemid=28300, free swap space in %,剩余swap内存(占比)
itemid=28301, total swap space,全部swap内存

  1. 第二步我们获取了itemid,即监控项名id
    根据itemid到history,trends表中匹配响应的信息
    select FROM_UNIXTIME(a.clock),a.* from history a where a.itemid in (‘28299’,’28300’,’28301’);
    select FROM_UNIXTIME(b.clock),b.* from trends b where b.itemid in (‘28299’,’28300’,’28301’);

    将history,trends表中的时间戳转化格式,可以看到各时间点监控项的值,zabbix就是根据这些值,利用zabbix内置函数来绘制图像的。
    history表
    这里写图片描述
    trends表
    这里写图片描述

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页