Zabbix监控数据可视化分析

很多企业会使用 Zabbix 做监控,然后想要使用 数据可视化分析工具 获取 Zabbix 的仪表板数据进行分析,Zabbix 使用的是 MySQL 数据库,但是由于很多用户并不了解 Zabbix 的数据库表结构,想要获取数据就变得很困难。

为了能给大家提供一些帮助,我们研究了一下 Zabbix 数据库的表结构,整理了一些获取 Zabbix 仪表板数据的 SQL 语句,你可以直接使用这些 SQL 语句在 数据可视化分析工具 中创建 SQL 数据集。博主使用的是DataEase开源数据可视化分析工具DataEase - 人人可用的开源数据可视化分析工具 - 官网 (fit2cloud.com)

zabbix.png

1 主机数量

select COUNT(*) from hosts WHERE flags = '0';

已启用/已禁用/模板:

Explain

select `status`, (CASE status WHEN '0' THEN '已启用' WHEN '1' THEN '已禁用' WHEN '2' THEN '未知' ELSE '模板' END ) 主机状态, count(status) 主机数量 from hosts WHERE flags = '0' GROUP BY status;

2 监控项数量

select COUNT(*) from items WHERE flags='0' and hostid in (
 select hostid from `hosts` WHERE status='0' and flags = '0'
);

已启用/已禁用/不支持:

Explain

select state, (CASE state WHEN '0' THEN '已启用' WHEN '1' THEN '不支持' ELSE '未知' END ) 监控项状态, COUNT(state) as '监控项数量' from items WHERE flags='0' and hostid in ( select hostid from `hosts` WHERE status='0' and flags = '0' ) GROUP BY state;

3 触发器数量(已启用/已禁用 [问题/正常])

-- 已启用数量 
select COUNT(*) from triggers WHERE triggerid in (select objectid from events);

问题/正常:

Explain

select `value`, (CASE `value` WHEN '1' THEN '问题' ELSE '正常' END ) 状态, COUNT(`value`) as '触发器数量' from `triggers` WHERE triggerid in (select objectid from `events`) GROUP BY `value`;

4 用户数(线上)

select COUNT(*) from users;

登陆过的有效用户数:

select COUNT(*) from users WHERE userid in (select userid from sessions);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值