内容简介:观看2018年Zabbix大会有大佬用脚本实现我们知道Zabbix里每次监控间隔时间都是固定的,变频器所做的事情就是改变变频器有什么好处?
ZabbixWeb监控变频器
前言
观看2018年Zabbix大会有大佬用脚本实现 变频器
概念功能
这个变频器是怎么样一个概念呢?
我们知道Zabbix里每次监控间隔时间都是固定的,变频器所做的事情就是改变 监控频率
。
变频器有什么好处?
在某些场景,我们会担心因网络抖动引起的误报,有些告警阈值是两次出现问题才触发。这样的配置有个缺点:问题发现时间是 监控频率 x 2
,变频器所做的事情就是:第一次发现阈值有问题,手动触发一次,并将结果存库,这样问题发现时间是 监控频率 + 数据采集时间
,极大缩短了问题发现时间。
方案
听完这个有趣的监控思路,自己也想尝试一番。
想在监控站点可用性上加快故障发现时间,普通的监控项变频器可以采用 zabbix_get
与 zabbix_sender
配合使用,实现变频器功能;但经过一番测试,ZabbixWeb是特殊类型,需要采用其他方案。
经过一番简单的思考,大致方案如下
ZabbixWebMonitor itemid
实现
初步思考方案是简单而美好的,但是在后续实践过程中碰到一些问题
- 存入数据库,Trigger不生效问题
还是太过年轻了,查了官网发现:ZabbixServer Trigger读内存缓存值
而非直接读取数据库
. - 数据库插值行不通,如何插入
WebMonitor
值抓包分析zabbix_sender主动传值,发现tcp协议request只支持
agent data
跟trapper data
,分别对应主动模式的item与自动捕获数据的item,WebMonitor是属于特殊item,无法直接插入值.
经过几番测试跟思考,最终方案如下:
#1 每个Web额外添加一个Trapper类型item. #2 原先触发器进行改造,改为判断两项的总和.
效果
原来的Trigger
最后三次中加起来超过两次异常触发告警
看最新数据11分40秒第一次发现故障
在12分41秒的时候发出告警,也就是从故障发生到发现时间经过了1分多钟时间
加入变频器后
Trigger改造
可以看到在第一次发现故障后4秒就触发了告警器
47秒发现故障,51秒将请求结果插入库,以及发送到Zabbix trapper缩短了告警器触发时间
后记
这种监控思路蛮有趣的,可以用在某些特定应用场景
脚本地址: 传送门
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Essential PHP Security
Chris Shiflett / O'Reilly Media / 2005-10-13 / USD 29.95
Being highly flexible in building dynamic, database-driven web applications makes the PHP programming language one of the most popular web development tools in use today. It also works beautifully wit......一起来看看 《Essential PHP Security》 这本书的介绍吧!