1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 运维 - 正文

君子好学,自强不息!

Zabbix监控报警统计信息报表功能

2022-11-06 | 运维 | admin | 584°c
A+ A-

需求是这样的:

用zabbix来监控报警,由于出现时间久了、报警次数多了、人员忙了等情况,这些会导致一些报警内容被忽略,所以需要一个报表来反应谁收到了什么样的报警信息,收到了多少条,从而来判断这些情况是否被处理及处理进度,以及可以更好的分配人力资源。

需求分析假设:

1、用zabbix自带报表功能,但是这个东西存在局限性,还未发现有此功能;

2、数据库中查找表的信息,从来进行二次判断进行结果展现。


进程:

选用了第二种方法:数据库。

大概看了下zabbix数据库中的表,大概找出了下面3个表可能存在相应的关系:

其实,我这里的结果只使用了1表和3表2张表进行结果展现,其实结果呈现的方法很多种,可能***还会需要“用户组”表,进行结果展现及组员管理。

我这里将结果展现成了下面的内容:(应用级监控邮件报警的历史发送情况)

邮件筛选sql:

selectuserid,name,sum(casewhensubjectlike'%CPUsystime%'then1end)systime,sum(casewhensubjectlike'%CPUUSE%'then1end)cpuuse,sum(casewhensubjectlike'%DiskI%'then1end)diskio,sum(casewhensubjectlike'%availablememory%'then1end)mem,sum(casewhensubjectlike'%isunreachable%'then1end)downtime,sum(casewhensubjectlike'%restarted%'then1end)restart,sum(casewhensubjectlike'%hasbeenchanged%'then1end)passchange,sum(casewhensubjectlike'%Freedisk%'then1end)disk,sum(casewhensubjectnotlike'%CPU%'andsubjectnotlike'%availablememory%'andsubjectnotlike'%Disk%'andsubjectnotlike'%isunreachable%'andsubjectnotlike'%restart%'andsubjectnotlike'%hasbeenchanged%'andsubjectnotlike'%disk%'then1end)otherfrom(selecta.userid,c.name,a.subjectfromalertsa,userscwherea.mediatypeid='6'anda.clock>'1392220800'anda.clock<'1392307200'anda.userid=c.useridanda.status='1'anda.subjectnotlike'%OK%')atgroupbyuserid;

短信筛选sql:

selectuserid,name,sum(casewhensubjectlike'%CPUsystime%'then1end)systime,sum(casewhensubjectlike'%CPUUSE%'then1end)cpuuse,sum(casewhensubjectlike'%DiskI%'then1end)diskio,sum(casewhensubjectlike'%availablememory%'then1end)mem,sum(casewhensubjectlike'%isunreachable%'then1end)downtime,sum(casewhensubjectlike'%restarted%'then1end)restart,sum(casewhensubjectlike'%hasbeenchanged%'then1end)passchange,sum(casewhensubjectlike'%Freedisk%'then1end)disk,sum(casewhensubjectnotlike'%CPU%'andsubjectnotlike'%availablememory%'andsubjectnotlike'%Disk%'andsubjectnotlike'%isunreachable%'andsubjectnotlike'%restart%'andsubjectnotlike'%hasbeenchanged%'andsubjectnotlike'%disk%'then1end)otherfrom(selecta.userid,c.name,a.subjectfromalertsa,userscwherea.mediatypeid='3'anda.clock>'1392220800'anda.clock<'1392307200'anda.userid=c.useridanda.status='1'anda.subjectnotlike'%OK%')atgroupbyuserid;

其中sql的条件可以更改。

需要特别注意的是:

clock字段是 unix的时间戳,需要的筛选条件可以进行转换进行获得。

本文来源:1818IP

本文地址:https://www.1818ip.com/post/7323.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。