这篇文章主要介绍Zabbix如何实现监控报警统计信息报表功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的延长网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
需求是这样的:
用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的时间戳,需要的筛选条件可以进行转换进行获得。
以上是“Zabbix如何实现监控报警统计信息报表功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
本文名称:Zabbix如何实现监控报警统计信息报表功能
分享网址:http://scyingshan.cn/article/joodod.html