zabbix 使用 dataease 做数据大屏

1、环境介绍
操作系统:龙蜥os 7.9
软件:dataease v1.18.18
zabbix: 6.0

2、软件下载
https://community.fit2cloud.com/#/products/dataease/downloads
在这里插入图片描述
3、将软件包上传到服务器并解压缩

tar -xvf dataease-v1.18.18-offline.tar.gz

在这里插入图片描述
4、修改安装配置
在这里插入图片描述
根据自己需求修改配置

5、执行安装脚本
在这里插入图片描述

sh install.sh

在这里插入图片描述
6、登录web ui并修改登录密码
注意:上一步安装成功后会输出默认用户名密码admin dataease
在这里插入图片描述
在这里插入图片描述
登录成功后这样(这是1.0版本,2.0版本整洁比较,但是模版不如1.0版本多)
在这里插入图片描述
7、添加zabbix数据源(以下 数据源、模版、官方展示数据屏全部删除了)
在这里插入图片描述
这里根据自己的zabbix 数据库版本选择,我这里是mysql
在这里插入图片描述
填写数据库信息,验证成功后保存
在这里插入图片描述
8、创建zabbix仪表盘目录
在这里插入图片描述

9、选择zabbix模版
在这里插入图片描述
在这里插入图片描述
选择上一步建立的目录zabbix
在这里插入图片描述
10、创建数据集(这里只写一个示例,最后我将记录全部使用的数据集,sql如果有出入自行修改,没啥字段说明,只能自己看数据库)
在这里插入图片描述
提示建立一个文件夹
在这里插入图片描述
点加号建立数据集,这里选择sql
在这里插入图片描述

SELECTCASEWHEN p.severity = '0' THEN '未分类'WHEN p.severity = '1' THEN '信息'WHEN p.severity = '2' THEN '警告'WHEN p.severity = '3' THEN '一般严重'WHEN p.severity = '4' THEN '严重'WHEN p.severity = '5' THEN '灾难级'END AS severity_name,COUNT(*) AS num
FROM problem p
JOIN (SELECT triggerid, MIN(itemid) AS itemidFROM functionsGROUP BY triggerid
) f ON p.objectid=f.triggerid
JOIN items i ON f.itemid=i.itemid
JOIN hosts h ON i.hostid=h.hostid
LEFT JOIN interface inf ON inf.hostid=h.hostid AND inf.main=1
WHERE p.r_clock=0AND h.status IN (0,1)AND i.status=0AND (inf.ip IS NULL OR inf.ip <> '127.0.0.1')
GROUP BYCASEWHEN p.severity = '0' THEN '未分类'WHEN p.severity = '1' THEN '信息'WHEN p.severity = '2' THEN '警告'WHEN p.severity = '3' THEN '一般严重'WHEN p.severity = '4' THEN '严重'WHEN p.severity = '5' THEN '灾难级'END,p.severity
ORDER BY CAST(p.severity AS SIGNED) DESC;

点击运行检查 成功出数据后,保存
在这里插入图片描述
在这里插入图片描述
11、将数据集应用到模版
在这里插入图片描述

在这里插入图片描述
点击更换数据集,拖动数据到维度和指标(维度就是表头,指标就是数,如果维度和指标不对就在数据集中更改,或者转换)
在这里插入图片描述
填好后这里数据就变了 这就是一个区域弄好了,按照这个思路完善其他区域即可(如有需求这里可以编辑图标的样式)
在这里插入图片描述
12、补充数据集(自行调整,有不对的欢迎留言)
主机组数量统计

SELECT COUNT(*) as 主机组数量
FROM hstgrp;

主机数量统计

SELECTCOUNT(DISTINCT h.hostid) AS 主机数量
FROMhstgrp hg
JOINhosts_groups hgh ON hg.groupid = hgh.groupid
JOINhosts h ON hgh.hostid = h.hostid
WHEREh.status = 0;

可监控主机数量统计

SELECTCOUNT(DISTINCT h.hostid) AS 可监控主机
FROMhstgrp hg
JOINhosts_groups hgh ON hg.groupid = hgh.groupid
JOINhosts h ON hgh.hostid = h.hostid
JOINinterface i ON h.hostid = i.hostid
WHEREh.status = 0AND i.available = 1;

不可监控主机数量统计

SELECTCOUNT(DISTINCT h.hostid) AS 不可监控主机
FROMhstgrp hg
JOINhosts_groups hgh ON hg.groupid = hgh.groupid
JOINhosts h ON hgh.hostid = h.hostid
JOINinterface i ON h.hostid = i.hostid
WHEREh.status = 0AND i.available = 2;

未知监控主机数量统计

SELECTCOUNT(DISTINCT h.hostid) AS 未知监控主机
FROMhstgrp hg
JOINhosts_groups hgh ON hg.groupid = hgh.groupid
JOINhosts h ON hgh.hostid = h.hostid
JOINinterface i ON h.hostid = i.hostid
WHEREh.status = 0AND i.available = 0;

告警主机数量统计

SELECTCOUNT(DISTINCT h.hostid) AS 告警主机数量
FROMtriggers t
JOINproblem p ON t.triggerid = p.objectid
JOINfunctions f ON t.triggerid = f.triggerid
JOINitems it ON f.itemid = it.itemid
JOINhosts h ON it.hostid = h.hostid
WHEREp.r_eventid IS NULLAND h.status = 0;

待处理警告数量统计

SELECT COUNT(DISTINCT p.eventid) AS 待处理警告数
FROM problem p
JOIN triggers t ON p.objectid = t.triggerid
JOIN functions f ON t.triggerid = f.triggerid
JOIN items i ON f.itemid = i.itemid
JOIN hosts h ON i.hostid = h.hostid
WHERE p.r_eventid IS NULL
AND p.acknowledged = 0;

已处理警告数量统计

SELECT COUNT(*) AS 已处理警告数量
FROM (SELECT eventidFROM problemWHERE acknowledged = 1UNION ALLSELECT eventidFROM eventsWHERE severity = 0
) AS resolved_warnings;

主机状态数量统计

SELECT'可监控主机' AS 主机状态,COUNT(DISTINCT CASE WHEN i.available = 1 THEN h.hostid END) AS 数量
FROMhstgrp hg
JOINhosts_groups hgh ON hg.groupid = hgh.groupid
JOINhosts h ON hgh.hostid = h.hostid
JOINinterface i ON h.hostid = i.hostid
WHEREh.status = 0UNION ALLSELECT'不可监控主机' AS 主机状态,COUNT(DISTINCT CASE WHEN i.available = 2 THEN h.hostid END) AS 数量
FROMhstgrp hg
JOINhosts_groups hgh ON hg.groupid = hgh.groupid
JOINhosts h ON hgh.hostid = h.hostid
JOINinterface i ON h.hostid = i.hostid
WHEREh.status = 0UNION ALLSELECT'未知监控主机' AS 主机状态,COUNT(DISTINCT CASE WHEN i.available = 0 THEN h.hostid END) AS 数量
FROMhstgrp hg
JOINhosts_groups hgh ON hg.groupid = hgh.groupid
JOINhosts h ON hgh.hostid = h.hostid
JOINinterface i ON h.hostid = i.hostid
WHEREh.status = 0;

top 10 待处理问题数

SELECTh.name AS 主机名称,COUNT(p.eventid) AS 问题数
FROMproblem p
LEFT JOIN (SELECTs1.triggerid,(SELECTs2.itemidFROMfunctions s2WHEREs2.triggerid = s1.triggeridLIMIT 1) AS itemidFROMfunctions s1GROUP BYs1.triggerid
) AS f ON f.triggerid = p.objectid
LEFT JOIN `items` AS i ON i.itemid = f.itemid
LEFT JOIN `hosts` AS h ON h.hostid = i.hostid
LEFT JOIN `interface` AS inf ON inf.hostid = h.hostid
WHEREp.r_eventid IS NULLAND h.status = 0AND i.status = 0
GROUP BYh.hostid, h.host
ORDER BY问题数 DESC
LIMIT 10;

top 10 主机组告警数

SELECTtotal_problems.主机组名,SUM(total_problems.num_problems) AS 问题数
FROM (SELECThs.NAME AS 主机组名,COUNT(DISTINCT p.eventid) AS num_problemsFROMproblem pLEFT JOIN (SELECTs1.triggerid,(SELECTs2.itemidFROMfunctions s2WHEREs2.triggerid = s1.triggeridLIMIT 1) AS itemidFROMfunctions s1GROUP BYs1.triggerid) AS f ON f.triggerid = p.objectidLEFT JOIN `items` AS i ON i.itemid = f.itemidLEFT JOIN `hosts` AS h ON h.hostid = i.hostidLEFT JOIN hosts_groups AS hg ON hg.hostid = h.hostidLEFT JOIN hstgrp AS hs ON hs.groupid = hg.groupidWHEREISNULL(p.r_eventid)AND h.STATUS = 0AND i.`status` = 0GROUP BYhs.NAME
) AS total_problems
GROUP BYtotal_problems.主机组名
ORDER BY问题数 DESC
LIMIT 10;

主机组异常设备占比

SELECThg.groupid AS '组ID',COALESCE(hs.name, '无') AS '组名',COUNT(DISTINCT CASE WHEN p.eventid IS NOT NULL THEN h.hostid END) AS '异常主机数量',COUNT(DISTINCT h.hostid) AS '总主机数量',CONCAT(ROUND(COUNT(DISTINCT CASE WHEN p.eventid IS NOT NULL THEN h.hostid END) / COUNT(DISTINCT h.hostid) * 100, 2), '%') AS '异常主机占比'
FROMhosts_groups hg
LEFT JOIN hosts h ON hg.hostid = h.hostid
LEFT JOIN hstgrp hs ON hg.groupid = hs.groupid
LEFT JOIN (SELECTi.hostid,p.eventidFROMproblem pJOIN functions f ON p.objectid = f.triggeridJOIN items i ON f.itemid = i.itemidWHEREp.r_eventid IS NULL
) AS p ON h.hostid = p.hostid
WHEREh.status = 0
GROUP BYhg.groupid, hs.name
ORDER BYhg.groupid;

告警信息详细

SELECT DISTINCTe.clock,FROM_UNIXTIME(e.clock) AS '告警时间',e.name AS '告警名称',e.severity AS '严重程度',CASE e.severityWHEN '0' THEN '未定义'WHEN '1' THEN '信息'WHEN '2' THEN '警告'WHEN '3' THEN '一般严重'WHEN '4' THEN '严重'WHEN '5' THEN '灾难'ELSE '未知'END AS '严重程度名称',h.host AS '主机名',h.name_upper AS '主机名显示',i.ip AS 'IP地址'
FROMevents e
LEFT JOINtriggers t ON e.objectid = t.triggerid
LEFT JOINfunctions f ON t.triggerid = f.triggerid
LEFT JOINitems it ON f.itemid = it.itemid
LEFT JOINhosts h ON it.hostid = h.hostid
LEFT JOINinterface i ON h.hostid = i.hostid
WHEREe.source = 0AND e.value = 1
ORDER BYe.clock DESC;

最终效果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620146.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024第十五届蓝桥杯 C/C++ B组 参赛经历分享(以及部分题解)

前言 emmmmmm&#xff0c;dp杯居然不考dp了&#xff0c;蓝桥一直没怎么出过的高精度居然也考了&#xff08;当时居然因为没太复习那块知识直接模拟混分了&#xff09;&#xff0c;题量也改了&#xff0c;总的来说反而简单了&#xff1f;。。。还好天津竞赛弱省&#xff0c;但愿…

代码随想录算法训练营第55天|392.判断子序列|115.不同的子序列

代码随想录算法训练营第55天|392.判断子序列|115.不同的子序列 392.判断子序列 这道题目算是 编辑距离问题 的入门题目&#xff08;毕竟这里只是涉及到减法&#xff09;&#xff0c;慢慢的&#xff0c;后面就要来解决真正的 编辑距离问题了 https://programmercarl.com/0392.…

弹性 MapReduce(EMR)

一.产品简介 1产品概述 E腾讯云 EMR 提供基于云服务器&#xff08;CVM&#xff09;和容器服务&#xff08;TKE&#xff09;两种部署运行方式&#xff1a; 2.Agent 的安装目录 Linux 安装目录是/usr/local/qcloud/stargate和/usr/local/qcloud/monitor CoreOs 安装目录是/va…

IBM SPSS Statistics for Mac:数据分析的卓越工具

IBM SPSS Statistics for Mac是一款功能强大的数据分析软件&#xff0c;专为Mac用户设计&#xff0c;提供了一系列专业的统计分析和数据管理功能。无论是科研人员、数据分析师还是学生&#xff0c;都能从中获得高效、准确的数据分析支持。 IBM SPSS Statistics for Mac v27.0.1…

在uni-app使用iconfont中的图标

uni-app 如何使用iconfont中的图标 在uni-app中使用Iconfont图标通常涉及以下几个步骤&#xff1a; 步骤一&#xff1a;获取Iconfont资源 访问 iconfont-阿里巴巴矢量图标库&#xff0c;注册并登录账号。 浏览或搜索所需的图标&#xff0c;将它们添加至购物车或直接创建项目进…

Servlet(一)

文章目录 1.Servlet整体框架2.Servlet快速入门1.创建项目配置基本环境2.添加jar包1.在WEB-INF下创建目录lib&#xff0c;添加文件2.添加到项目中3.配置代码提示 3.src下创建文件4.实现Servlet接口5.在web.xml配置HelloServlet6.通过浏览器访问HelloServlet 3.浏览器访问Servlet…

若依框架针对漏洞升级的记录

背景&#xff1a;项目部署在生产环境上以后&#xff0c;漏洞扫描的时候&#xff0c;发现各种漏洞需要修复&#xff0c;很多漏洞的升级后面都记不住了&#xff0c;所以现在都简单记录一下处理的步骤 20240415 解决方案&#xff1a;直接修改配置文件中的Spring security的版本…

WordPress JS Support Ticket插件 RCE漏洞复现

0x01 产品简介 WordPress和WordPress plugin都是WordPress基金会的产品。JS Support Ticket是使用在其中的一套开源票务系统插件。 0x02 漏洞概述 WordPress中的JS Support Ticket插件存在未经上传漏洞,未经身份验证的攻击者可以上传恶意脚本的服务器,执行任意指令,从而获…

强大的系统监测工具 iStat Menus for mac最新中文激活版

iStat Menus for Mac是一款功能强大的系统监控工具&#xff0c;专为Mac用户设计&#xff0c;旨在帮助用户全面了解电脑的运行状态&#xff0c;提高电脑的性能和稳定性。 iStat Menus for mac最新中文激活版下载 该软件可以实时监测CPU使用率、内存占用、网络速度、硬盘活动等各…

LeetCode-热题100:104. 二叉树的最大深度

题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a; root [3,9,20,null,null,15,7] 输出&#xff1a; 3 示例 2&#xff1a; 输入&#xff1a; root …

实时传输,弹性优先——物联网通讯打造数据上传新标杆

随着信息技术的飞速发展&#xff0c;物联网技术已经成为连接物理世界和数字世界的桥梁。在物联网领域&#xff0c;数据上传的速度、稳定性和灵活性是评价通讯技术优劣的重要指标。近年来&#xff0c;物联网通讯在实时传输、弹性优先方面取得了显著进展&#xff0c;为数据上传树…

初识three.js创建第一个threejs3D页面

说到3D&#xff0c;想必大家都能想到three.js&#xff0c;它是由WebGL封装出来的&#xff0c;接下来&#xff0c;我手把手教大家创建一个简单的3D页面 话尽在代码中&#xff0c;哈哈 大家可以复制代码玩一下 <!DOCTYPE html> <html lang"en"><head&…