zabbix监控系统采集数据的手动查询

2022-03-11 09:33:01 浏览数 (1)

前言

zabbix稳定运行一段时间之后,积累了一定量的数据。老板看运维整天没事干,让折腾一个酷炫的大屏显示。同时在这个基础上有一定的定制话需求。记录一下自己查询zabbix数据库的查询语句。

监控表结构

  • hosts表 select * from hosts where hostid = '10434'G

存储被监控机器的信息 ,包含模版信息

  • items表 select * from items where hostid = '10434'G

核心表之一,记录了item的所有设置

  • hosts_templates表 select * from hosts_templates G

存储机器和模版或模版和模版之间的关系

  • interface表 select * from interfaceG

数据存储表结构说明

history表 和 Trends 表 都是存储历史数据的地方。存储数据的粒度不同。trends 表将history表的数据根据小时纬度进行归档。他会针对每一个itemid,计算每小时的最小值,最大值和平均值。 参数 相互关联的表 show tables like '%history%'; show tables like '%trend%';

将clock,和ns转化为可读 select itemid,from_unixtime(clock),value,ns/1000000000 from history limit 1;

报警相关表结构说明

  • trigger表 select * from triggers limit 1 G

核心是expression,存储报警逻辑。

  • functions表 select * from functions where functionid=12641;

根据trigger表中expression 的{12641},通过functions表查找itemid

  • items表 select * from items where itemid =22189G
  • events表

zabbix server 获取到一个数据,就会检查跟这个item相关的trigger,然后无论是否出发action,都会生成一个 event。 字段参数 source event 的生成来源 trigger discovery rule agent auto-registration internal object 和event 关联的zabbix 对象

实际应用

  • 找出交换机端口流量相关的item select * from hosts where hostid = '10434'G
  • 统计监控项的个数 SELECT count(*) FROM items WHERE hostid=10434;
  • 统计和网络相关的监控项个数 SELECT count(*) FROM items WHERE hostid=10434 AND key_ LIKE '%net.if.in%' G
  • 查找itemid SELECT name,snmp_oid,itemid FROM items WHERE hostid=10434 AND key_ LIKE '%net.if.in%';
  • 查看数据采集情况 select itemid,from_unixtime(clock),value,ns/1000000000 from history_uint where itemid = 36384;
  • 结果精确到分钟 select itemid,date_format(from_unixtime(clock), '%Y-%m-%d %H:%i' ), value as '36336' from history_uint where itemid = 36336 limit 10;

0 人点赞