触发器函数

触发器可以通过选择监控项,对监控项的返回值使用触发器函数做一些处理,最后可以添加条件来决定出发阈值,当条件符合即可触发报警, 同时触发器还可以设置恢复条件,当条件达到的时候才能恢复告警,大屏告警信息才会消失。

注意

1) 所有函数的返回值都是数值型,而不是字符串。
2) 一些函数不能使用非整型参数!
3) 字符串参数应该加上双引号,否则可能被错误解析

从Zabbix 3.2开始, nodata(), date(), dayofmonth(), dayofweek(), now() and time() 函数也归到不支持的项目里。 其它的函数需要被引用的项目处于支持状态。

触发器函数

nodata (sec)

检查是否没有接收到数据。

sec - 评估期以秒值表示。
时间不应该少于30秒,因为timer处理器每30秒计算一次该函数。

nodata(0) 不被允许.

支持值的类型: any

返回值:
1 - 指定评估期没有接收到数据
0 - 其它

注意,如果在第一个参数指定的时间内出现以下问题,该函数会报错:

  • 没有数据以及Zabbix server被重启
  • 没有数据以及修复完成
  • 没有数据以及项目被添加或重新激活
    错误显示在触发器configuration的 Info 列 .

在时间T周期内,没有数据返回1,有数据返回0
可以和其他触发器条件配合使用,当多个条件凑在一起的时候,例如and关系,就将成组的触发器作为一个时间段来执行,
{Zabbix server:log[/home/yy/123.txt,ORA-|terminate|shutdown|abort|error,,,skip,,].nodata(3m)}=0 and {Zabbix server:log[/home/yy/123.txt,ORA-|terminate|shutdown|abort|error,,,skip,,].regexp(ORA-)}=0
在三分钟周期内,有数据而且能数据能正则匹配搭配ORA-字段,则告警触发,如果在三分钟之内没数据,那么告警不会触发,而且上次触发的告警也会恢复。

abschange

最近获取值与之前获取值差的绝对值。
支持值的类型: float, int, str, text, log

例如:
(最近获取值;之前获取值=abschange)
1;5=4
3;1=2
0;-2.5=2.5

返回值:
0 - 两值相等
1 - 两值不等

avg (sec|#num,)

指定评估期内一个项目的平均值。
sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示
time_shift (可选) - 时间偏移
支持值的类型: float, int

例如:
⇒ avg(#5) → 五个最新值的平均值
⇒ avg(1h) → 一个小时的平均值
⇒ avg(1h,1d) → 一天前一个小时的平均值。

从Zabbix 1.8.2开始支持time_shift参数。当需要比较当前平均值和指定时间之前的平均值(由time_shift参数指定)时,它就很有用了。

band (sec|#num,mask,)

项目值和掩码的按位与值。

sec (可省略) or #num - 最新的第N个值
mask (必须有) - 64位无符号整数 (0 - 18446744073709551615)
time_shift (可选) - 参照 avg()

支持值的类型: int

注意此处的 #num 参数和其它一些函数的作用不用 (参照 last()).

尽管以二进制方式进行比较,但是所有的参数和返回值都是十进制数。 例如

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值