• Zabbix通过SQL语句从数据库获取数据说明


    ## 1、Zabbix databases说明
    Zabbix可以直接由zabbix后台数据库获取历史数据,适用于一次性大规模的取出大量主机大量监控项的大批数据。
    ### 1.1、相关表说明
    #### 1.1.1、history系列表
    history系列表是按照数据类型分别存储历史数据的,表中只包含itemid、clock、value等数据,表中数据以update interval为时间间隔:
    - zabbix.history 存放浮点型数据
    - zabbix.history_log 存放日志类型数据
    - zabbix.history_str 存放字符型数据(最大不超过255个字节)
    - zabbix.history_text 存放文本数据
    - zabbix.history_unit 存放无符号整形数据

    #### 1.1.2、trends系列表
    trends系列表是以数据类型来分别存储历史数据的统计结果的,表中只包含itemid、clock、value_min、value_avg、value_max等数据,表中数据以小时为时间间隔,存储每小时的最小、最大和平均值。
    - zabbix.trends 存放浮点型数据
    - zabbix.trends_unit 存放无符号整形数据

    在trends系列表中character、log、text类型是没有历史统计结果的。

    #### 1.1.3、重要的表以及表字段
    history、trends需要与items、hosts、hosts_groups、groups表关联来获取item名称、host名称、组别等。

    ##### 1.1.3.1、hosts表
    hosts表存放的是主机的信息,比较重要的字段如下:
    - hosts.hostid 主机id
    - hosts.host 主机名
    - hosts.status 主机状态 0为正常监控,1为关闭,3表示是个Template,5尚不不清楚。

    ##### 1.1.3.2、hosts_groups表
    hosts_groups表是主机和主机组的中间表,主要描述主机和主机组的关系。
    - hosts_group.hostid 主机id
    - hosts_group.groupid 所属组id

    ##### 1.1.3.3、groups表
    groups表是主机组表,存放主机组的相关信息,重要字段如下:
    - groups.groupid 组id
    - groups.name 组名

    ##### 1.1.3.4、items表
    items表是监控项表,主要存放需要监控的监控项信息,重要字段如下:
    - items.itemid 监控项id
    - items.hostid 监控项所在主机id
    - items.name 监控项别名
    - items.key_ 监控项标准名称
    - items.value_type 值类型
    - items.delay 取数时间间隔
    - items.history 历史表数据保留天数
    - items.trends 历史统计表数据保留天数
    - items.units 数据单位

    另外items表中的value_type与history(主要是为了存取效率将不同的值存不同的history表中)的对应关系如下:

    | value_type | history表 |
    |--------|--------|
    | 0 | history |
    | 1 | history_str |
    | 2 | history_log |
    | 3 | history_uint |
    | 4 | history_text |

    ### 1.2、获取监控数据说明
    Zabbix通过专用的Agent或SNMP收集相关的监控数据,然后存储到数据库里实时在前台展示。Zabbix监控数据主要分为以下两类:
    - 历史数据: history系列表,存放监控项目存储监控数据的原始数据。
    - 趋势数据: trends系列表,存放趋势数据,趋势数据是经过Zabbix计算的数据,数据是从history系列表中汇总的,从trends系列表中可以查看到监控数据每小时最大,最小和平均值,即存储监控数据的汇总数据。

    从Zabbix数据库中查询监控项目方法,这里以查询主机每1分钟CPU负载为例子:
    1. 通过hosts表查找主机的ID:
    `mysql> select host,hostid from hosts where host="Zabbix server";`
    比如,查到主机的ID为:`10084`
    2. 通过items表查找主机的监控项的key以及itemid:
    `SELECT itemid,`name`,KEY_ from items where hostid='10084' AND key_='system.cpu.load[percpu,avg1]';`
    比如,查到的itemid为:`23296`
    3. 通过itemid查询主机的监控项目(history系列表或者trends系列表):
    `SELECT from_unixtime(clock) as DateTime,`value` as Processer_load_per_sec from history WHERE itemid='23296' ORDER BY clock DESC LIMIT 1;`
    就查询到了每分钟CPU负载的值。

    ### 1.3、常见监控项说明

    | 监控项名称|描述|
    |------|------|
    |system.cpu.load[all,avg1]|系统平均负载(1分钟)|
    |system.cpu.load[all,avg5]|系统平均负载(5分钟)|
    |system.cpu.load[all,avg15]|系统平均负载(15分钟)|
    |system.cpu.util[,user]|CPU利用率(用户)|
    |system.cpu.util[,system]|CPU利用率(系统)|
    |vm.memory.size[total]|内存(总)|
    |vm.memory.size[used]|内存(使用)|
    |vm.memory.size[cached]|内存(已缓存)|
    |system.swap.in[,pages]|内存(SWAP)|
    |vfs.fs.size[/,total]|磁盘(总容量)|
    |vfs.fs.size[/,free]|磁盘(剩余容量)|
    |system.uptime|服务器运行时间|

  • 相关阅读:
    shh登入不能自动执行.bashrc
    Markdown 公式指导手册
    机器学习(ML)十六之目标检测基础
    机器学习(ML)十五之梯度下降和随机梯度下降
    机器学习(ML)十四之凸优化
    机器学习(ML)十三之批量归一化、RESNET、Densenet
    机器学习(ML)十二之编码解码器、束搜索与注意力机制
    机器学习(ML)十一之CNN各种模型
    机器学习(ML)十之CNN
    机器学习(ML)九之GRU、LSTM、深度神经网络、双向循环神经网络
  • 原文地址:https://www.cnblogs.com/davidchen211/p/10081346.html
Copyright © 2020-2023  润新知