zabbix数据库表结构
概述
Zabbix 5.2.6 数据库共有170张表,Zabbix 数据表的名称都是复数。资源之间的关联关系是通过外键来完成的。比如host和item的关联关系,就是在items表中使用hostid与hosts表中的资源进行关联。
本文将介绍Zabbix 数据库中主要的数据表,以及如何对数据库中表进行增删改查操作,熟悉Zabbix 数据库表结构;
数据库版本
select version();
统计 zabbix 数据库中表项
select count(8) tables,table_schema from information_schema.tables where table_schema = 'zabbix';
查询zabbix 数据库大小
select table_schema as '数据库', sum(table_rows) as '记录数', sum(truncate(data_length/1024/1024, 2)) as '数 据容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)' from information_schema.tables where table_schema='zabbix';
查询zabbix库各表容量大小
select table_schema as '数据库', table_name as '表名', table_rows as '记录数', truncate(data_length/1024/1024, 2) as '数据容量(MB)', truncate(index_length/1024/1024, 2) as '索引容量(MB)' from information_schema.tables where table_schema='zabbix' order by data_length desc, index_length desc;
hosts
存储被监控主机的信息
常用字段介绍
Hostid:唯一标识Host在Zabbix及数据库中的id。不同表之间的关联也要用hostid。
Proxy_hostid:若启用“proxy-server”架构,才会出现被监控机器的proxy_hostid。
Host:被监控机器的名字。
Status:机器目前的状态。“0”为正常监控,“1”为disable。
查询name为Zabbix_Proxy2的主机信息
select hostid,proxy_hostid,host,status,name from hosts where name='Zabbix server';
批量查询主机信息
select hostid,proxy_hostid,host,status,name from hosts where name IN ('Zabbix server','ecs-01');
停用 name为ecs-01主机
update hosts set status='1' where host='ecs-01';
启用 name为ecs-01主机
update hosts set status='0' where host='ecs-01';
items
存储所有监控项
常用字段介绍
itemid:item的id
type:item的type,和前端见面配置item的type的对应。数据库中,这一列的值是0到17的数字,分别代表不同的类型。
hostid:item所在的host的hostid。如果该item是属于template,那么这里显示的是templateid
name:item的名字
key_:item的key
delay:这里的delay,实际就是在配置item时候配置的“Update Interval”
trends:前端配置中的存储trend的时间
status:item的状态
0:item是enabled状态
index复数1:item是disabled状态
3:numeric unsigned
4:text
value_type:item返回值的类型,配置item时候配置的“Type of Information”
trapper_hosts:当item为trapper类型的时候,记录了也许发送的host
flags:
0:表示一个普通的item
4:表示是discover生成的item
interfaceid:当使用hosts类型的item时生效,用来选择host上不同的interface
port:使用SNMP监控室使用的端口号
description:Item配置界面上的“Description”
state:当前item的状态
0:正常
1:not supported
利用hostid在items表中查询该主机有那些监控项,itemid为监控项的id,name为监控项的名称,key_为键值,也就是表达式,怎么对监控项取值;
查询hostid 为10397 的监控项
select itemid,name, key_ from items where hostid=10397;
查询itemid 为34344和34336的监控项
select itemid,name,key_ from items where itemid IN ('34344','34336');
查询主机hostid=10397 和 name=memory 的监控项
select itemid,name, key_ from items where hostid=10397 AND name='Used memory';
查询主机hostid=10084 和 Used memory 和 name=Memory的监控项
select itemid,name, key_ from items where hostid=10084 AND name IN ('Used memory','Memory') ;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论