zabbix 触发器常用函数

作者: baiyongjie | 来源:发表于2018-12-05 23:19 被阅读2次

触发器中的表达式

{主机:key.函数(参数)}<表达式>
{<server>:<key>.<function>(<parameter>)}<operator><constant>

Functions函数:触发器functions可以引用检索到的值,当前时间或者其他元素。
unction参数----大多数数值functions可以使用秒来作为参数。你可以使用前缀“#”来表示它有不同的含义

操作符

优先级 操作  定义
1       /       除
2       *       乘
3       -       减
4       +       加
5       <       小于. 用法如下:
                A<B ⇔ (A<=B-0.000001)
6       >       大于. 用法如下:
                A>B ⇔ (A>=B+0.000001)
7       #       不等于.用法如下:
                A#B ⇔ (A<=B-0.000001) | (A>=B+0.000001)
8       =       等于. T用法如下:
                A=B ⇔ (A>B-0.000001) & (A<B+0.000001)
9       &       逻辑与
10      |       逻辑或

函数

sum

sum(600)  600秒内的总和
sum(#5)   最新5个值的和

avg

参数:秒或#num
支持类型:float,int
作用:返回一段时间的平均值
举例:
avg(5):最后5秒的平均值
avg(#5):表示最近5次得到值的平均值
avg(3600,86400):表示一天前的一个小时的平均值
如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,
#n表示最近n次的值

max

参数:秒或#num
获取一个时间周期内最大值
获取几个返回值中的最大值
以上方法,时间往前推移1分钟,1小时,1天等等
支持值类型:float,int
描述:返回指定时间间隔的最大值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法.
示例:
触发器名称:Free disk space is too low Problem: 最近5分钟内剩余磁盘空间小于10GB
({TRIGGER.VALUE}=0&{server:vfs.fs.size[/,free].max(5m)}<10G)

min

参数:秒或#num
获取一个时间周期内最小值
获取几个返回值中的最小值
以上方法,时间往前推移1分钟,1小时,1天等等
支持值类型:float,int
描述:返回指定时间间隔的最小值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法.
示例:
触发器名称:Free disk space is too low Problem:最近10分钟内磁盘空间大于40GB
({TRIGGER.VALUE}=1&{server:vfs.fs.size[/,free].min(10m)}<40G)

count

参数:秒或#num
支持类型:float,int,str,text,log
作用:返回指定时间间隔内数值的统计,
举例:
count(600)最近10分钟得到值的个数
count(600,12)最近10分钟得到值的个数等于12
count(600,12,"gt")最近10分钟得到值的个数大于12
count(#10,12,"gt")最近10个值中,值大于12的个数
count(600,12,"gt",86400)24小时之前的10分钟内值大于12的个数
count(600,6/7,"band")-thenumberofvaluesforlast10minuteshaving'110'(inbinary)inthe3leastsignificantbits.
count(600,,,86400)24小时之前的10分钟数据值的个数
第一个参数:指定时间段
第二个参数:样本数据
第三个参数:操作参数
第四个参数:漂移参数

#支持的操作类型 
eq: 相等 
ne: 不相等 
gt: 大于 
ge: 大于等于 
lt: 小于 
le: 小于等于 
like: 内容匹配

last

参数:秒或#num
支持值类型:float,int,str,text,log
作用:最近的值,如果为秒,则忽略,#num表示最近第N个值,请注意当前的#num和其他一些函数的#num的意思是不同的
例子:
last(0)等价于last(#1)last(#3)表示最近**第**3个值(并不是最近的三个值)
本函数也支持第二个参数**time_shift**,例如
last(0,86400)返回一天前的最近的值
如果在history中同一秒中有多个值存在,Zabbix不保证值的精确顺序
#num从Zabbix1.6.2起开始支持,timeshift从1.8.2其开始支持,可以查询avg()函数获取它的使用方法

last函数使用不同的参数将会得到不同的值,#2表示倒数第二新的数据。
例入从老到最新值为1,2,3,4,5,6,7,8,9,10,last(#2)得到的值为9,last(#9)得到的值为2。
last函数必须包含参数。

nodata

参数:秒
支持值类型:any
描述:当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示其他.

change

参数:忽略
支持类型:float,int,str,text,log
作用:返回最近获得值与之前获得值的差值,对于字符串0表示相等,1表示不同
举例:
change(0)>n:忽略参数一般输入0,表示最近得到的值与上一个值的差值大于n

时间参数

date
参数:忽略
支持类型:any
作用:返回当前的时间,格式YYYYMMDD

dayofmonth
返回当前是本月的第几天

dayofweek
返回当前是本周的第几天

delta
参数:秒或#num
支持类型:float,int
作用:返回时间间隔内的最大值与最小值的差值

fuzzytime
参数:秒
支持值类型:float,int
作用:返回值为1表示监控项值的时间戳与ZabbixServer的时间多N秒,0为其他.常使用system.localtime来检查本地时间是否与Zabbixserver时间相同.

now
参数:忽略
支持值类型:any
描述:返回距离Epoch(1970年1月1日00:00:00UTC)时间的秒数

diff

参数:忽略
支持值类型:float,int,str,text,log
作用:返回值为1表示最近的值与之前的值不同,0为其他情况

日志参数

logeventid
参数:string
支持值类型:log
描述:检查最近的日志条目的EventID是否匹配正则表达式.参数为正则表达式,POSIX扩展样式.当返回值为0时表示不匹配,1表示匹配。该函数从Zabbix1.8.5起开始支持.

logseverity
参数:忽略
支持值类型:log
描述:返回最近日志条目的日志等级(logseverity).当返回值为0时表示默认等级,N为具体对应等级(整数,常用于Windowseventlogs).Zabbix日志等级来源于Windowseventlog的Information列.

logsource
参数:string
支持值类型:log
描述:检查最近的日志条目是否匹配参数的日志来源.当返回值为0时表示不匹配,1表示匹配。通场用于Windowseventlogs监控.例如logsource["VMWareServer"]

相关文章

网友评论

    本文标题:zabbix 触发器常用函数

    本文链接:https://www.haomeiwen.com/subject/anbgcqtx.html