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

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

需求是这样的:

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

需求分析假设:

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

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


进程:

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

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

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

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

邮件筛选sql:

  1. 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:

  1. 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的时间戳,需要的筛选条件可以进行转换进行获得。

责任编辑:黄丹 来源: 51TCO博客
相关推荐

2022-03-07 08:37:26

Zabbix报表导出图表插件

2014-12-02 10:22:38

腾讯云微信开放平台云分析

2011-04-01 17:01:11

Zabbix短信

2014-07-17 15:01:21

zabbix监控开发

2011-04-01 16:24:39

zabbix报警

2011-03-29 10:22:34

zabbix报警

2010-06-07 12:56:58

Zabbix中文

2014-03-12 16:09:21

Zabbix短信报警

2014-05-28 13:23:57

Zabbix 监控Linux系统

2011-04-01 10:18:12

zabbix

2021-12-06 05:51:21

Zabbix监控运维

2010-06-01 16:25:24

Zabbix报警

2010-09-01 13:17:42

CSS样式表

2011-11-29 10:24:08

傲游智能填表

2022-05-19 08:21:02

vmalert监控

2011-04-01 17:27:14

zabbixMSN报警

2011-03-29 13:25:10

Zabbix监控

2011-03-29 11:27:37

监控Zabbix

2011-04-01 16:40:00

2014-04-29 13:45:44

Zabbix服务器硬件监控
点赞
收藏

51CTO技术栈公众号