介绍
介绍
Zabbix 是使用最为广泛的监控软件,它集成了数据采集,数据图表展示,数据监控于一身
今天我们就来学习 Zabbix 的触发器的使用方法
利用触发器我们可以在数据达到临界点的时候进行一些自动修复,或者报警的处理
教程
语法
基本语法
{<server>:<key>.<function>(<parameter>)}<operator><constant>
示例
{Work Server:os.env[cpu].last()}>5
解释
将表达式 Work Server:os.env[cpu].last() 对应的值作为一个变量
用这个变量去和 5 进行比较
如果变量的值比 5 更大则表达式成立
注意事项
在 {} 内的表达式对应着一个具体值,这个是变量表达式
触发器判断条件可以包括多个变量表达式,这个是条件表达式
函数
last
最新数据
avg(timeDistance, beforeTime)
描述
指定时间段内的数据平均值
参数
timeDistance:时间间隔,可以用 h(小时)
beforeTime:向前偏移的时间,例如:1h 表示一个小时前开始统计时间间隔
实践
下面我们来操作一遍触发器的设置
添加触发器
我们添加一个触发器,正常状态下 cpu 使用比不能超过 60%
添加动作
我们添加一个动作,当上面这个触发器检测到问题状态时候自动执行的动作
我们定义操作为执行 /etc/sendSMS.sh cpu_busy 这个命令发送短信
定义完成后点击 Add 添加操作
验证
当 cpu 使用比超过 60% 的时候,在 zabbix 看板里应该可以看到问题报警信息
同时我们的发送短信的命令会被执行
总结
触发器
触发器定义的规则在每次获取到新数据会执行一次,并根据表达式结果判断当前状态是健康状态还是故障状态
修改触发器的时候会立即执行一次,并根据表达式结果判断健康状态
动作
触发器健康状态发生变化的时候才会启动动作,从健康变为故障触发普通操作,从故障变为健康触发恢复操作
step duration:每步执行间隔,比如设置了 60,表示当前步骤执行完一次需要等待 60 秒后才会执行下一次;0 表示使用 default operation step duration 的值;
steps:第一个参数表示当前步骤的优先级,数字越小执行的顺序越靠前;第二个参数表示当前步骤重复执行的次数,0 表示无限次执行;