zoukankan      html  css  js  c++  java
  • zabbix数据库表结构解析

     

     下面开始介绍:

    1.添加监控表结构详解

    (1)hosts,存储被监控的机器的信息,表结构如下:

     

    (2)items

    (3)hosts_templates,存储机器和模版或者模版和模版之间的关系

    由于模版和机器都存储在hosts表中,所以hosts_templates和hosts 之间可以hostid关联也可以通过templateid关联。

     (4)interface,存储了所有设备的ip和端口的数据。(由于hosts表中不仅保存了设备信息还保存了模版信息,所以统计实际监控的设备,此表更加准确)

     

     2.数据存储表结构详解

     

    将clock 转化为人性化时间:

    3.报警相关表结构详解

     

    (1)triggers

     

     

     

    附 functions 表结构:

     (2)events

    例子:

    1. 找出某台主机的所有items ,含有某个key_的item , 统计items 总个数
    SELECT * FROM HOSTS WHERE hostid=10157;
    SELECT * FROM items WHERE hostid=10157 AND key_ LIKE '%agent%';
    SELECT COUNT(*) FROM items;

    2. 找出触发trigger次数最多的事件,并按trigger 降序排列。
    SELECT a.description, COUNT(*) cnt FROM TRIGGERS a , EVENTS b
    WHERE a.triggerid=b.objectid ORDER BY cnt DESC ;
    3. 从item记录各找出一个value类型为整形,浮点型的key_。
    统计这两个key_ 存储在history或者history_uint 某一个时间段(比如2017/06/12)
    的最大值,最小值,平均值,然后与 trends 或者 trends_unint 中相应时间段做对比

    整型
    SELECT * FROM items WHERE value_type=3 AND hostid=10157 LIMIT 1;
    SELECT * FROM history_uint a,trends_uint b WHERE a.clock=b.clock AND a.itemid=b.itemid LIMIT 1;

    浮点型
    SELECT * FROM items WHERE value_type=0 AND hostid=10157 LIMIT 1;
    SELECT * FROM history a,trends b WHERE a.clock=b.clock AND a.itemid=b.itemid LIMIT 1;

    4.统计Zabbix Dashboard中triggers总数的来源。

    SELECT  count(*)
      FROM TRIGGERS
    WHERE triggerid IN
           (SELECT triggerid
              FROM functions
             WHERE itemid IN (SELECT itemid
                                FROM items
                               WHERE hostid IN (SELECT hostid FROM interface)
                                 AND key_ NOT LIKE '%#%'
                                 AND key_ NOT LIKE '%discovery%'
                                 AND STATUS != 1));
     
    说明:
    通过之前对zabbix表结构的学习,我们知道,表triggersfunctions相关联,而functionsitems相关联,那么,要对triggers做统计,就需要从这三张表下手。
    关键就是对items表中的数据做出筛选,key_中带“#”和“discovery”的和status=1(不可用状态)都要排除,这样就统计出来了。
  • 相关阅读:
    机器学习-识别手写数字0-9
    tensorflow深度学习-mnist数据集读入-初试
    TensorFlow 2.0 最基础的线性回归
    cuDNN 环境变量-默认安装路径
    INT104-lab2
    [蓝桥杯][历届试题][dfs][割点]危险系数
    2021-03-19:给定一个二维数组matrix,其中的值不是0就是1,返回全部由1组成的最大子矩形,内部有多少个1。
    2021-03-17:手写代码:单链表插入排序。
    2021-03-16:手写代码:单链表归并排序。
    2021-03-15:手写代码:单链表选择排序。
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/7412312.html
Copyright © 2011-2022 走看看