美文网首页学习空间
Zabbix 触发器表达式使用规范

Zabbix 触发器表达式使用规范

作者: Habit_1027 | 来源:发表于2021-02-02 14:59 被阅读0次
    一、触发器之count使用范例

    参数:秒或#num
    支持类型:float,int,str,text,log
    作用:返回指定时间间隔内数值的统计

    第一个参数:指定时间段
    第二个参数:样本数据
    第三个参数:操作参数
    第四个参数:漂移参数

    支持的操作类型

    eq: 相等
    ne: 不相等
    gt: 大于
    ge: 大于等于
    lt: 小于
    le: 小于等于
    like: 内容匹配

    举例:

    ⇒计数(600)→最近10分钟得到值的个数
    ⇒计数(10m,“ error”,eq)→最近10分钟得到的值等于“错误”的个数
    ⇒计数(600,12)→最近10分钟得到的值等于12的个数
    ⇒计数(600,12,gt)→最近10分钟得到的值大于12的个数
    ⇒计数(#10,12,gt)→最近10个值,值大于12的个数
    ⇒计数(600,12,gt,86400)→24小时之前的10分钟内值大于12的个数
    
    连续6次大于等于100-----count(#6,100,ge)= 6
    最近10次的值大于50的次数超过8次-----count(#10,50,gt)> 8
    
    二、触发器之abschange使用范例

    参数:忽略
    支持类型:float,int,str,text,log
    作用:返回最近获得的值与之前获得值差的绝对值,对于字符串类型:0表示相等,1表示不同

    例如:{www.zabbix.com:vfs.fs.zise[/,free].abschange(10m)}<10,表示在www.zabbix.com设备中,Key值vfs.fs.size[/,free]最近一次获取到的值和在前10分钟的差值为10,其结果可能是最近一次的值比之前大,也有可能比之前的值小,即从-10到0,再从0到10之间的一个范围,可以叫做抖动值或者误差范围。

    三、触发器之avg使用范例

    参数:秒或#num
    支持类型:float,int
    作用:返回一段时间的平均值

    举例:

    avg(5):最后5秒的平均值
    avg(#5):表示最近5次得到值的平均值
    avg(3600,86400):表示一天前的一个小时的平均值
    如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,
    #n表示最近n次的值
    

    描述:返回指定时间间隔的平均值。时间间隔可以通过第一个参数秒数设置或收集值的数目(需要在前边加上#,比如#5代表最近5次的值)。如果有第二个,则表示时间漂移(time shift),例如,查询一天之前的前一个小时的平均值,对应的函数是avg(1h,1d)

    例如:{www.zabbix.com:vfs.fs.size[/,free].avg(#5,10m)}<50G,表示在Server设备中,Key值vfs.fs.size[/,free]最近10分钟内,最近的5次取值的平均值小于50G。请注意,10分钟内如果取值更新间隔时间为1分钟,则#5代表6、7、8、9、10分钟的数值,如果取值时间更新间隔为2分钟,则#5代表2、4、6、8、10分钟的数值

    四、触发器之change使用范例

    参数:直接忽略掉后边的参数
    支持值类型:float、int、str、text、log

    描述:返回最近获取到的值与之前值的差值(注意、与abschange函数不同,不是绝对值)。对于字符串类型,0表示值相等,1表示值不同

    例如:{www.zabbix.com:vfs.fs.size[/,free].change(5m)}<0,代表最近一次的值比前5分钟获取的值要小
    **{www.zabbix.com:vfs.fs.size[/,free].change()}>20,代表最新的值比前一个值要大20

    五、触发器之last使用范例

    参数: 秒或#num
    支持值类型: float,int,str,text,log
    作用:最近的值,如果为秒,则忽略,#num表示最近第N个值,请注意当前的#num和其他一些函数的#num的意思是不同的
    last(0)等价于last(#1)
    last(#3)表示最近3个值(并不是最近的三个值),如果获取到的值分别是A、B、C三个值,从时间顺序来看,A为第一个值,B为第二个值,#3就代 表第三个值C

    本函数也支持第二个参数time_shift
    例如: last(0,86400)返回一天前的最近的值
    如果在history中同一秒中有多个值存在,Zabbix不保证值的精确顺序

    例如: {www.zabbix.com:mysql.ping.last(#3,5m)}=0,表示设备www.zabbix.com的MySQL最近5分钟内第3次取值结果为0,即认为故障发生,注意#3的用法和其他函数不同

    六、触发器之max使用范例

    参数:秒或#num
    支持值类型:float或int

    描述:返回指定时间间隔的最大值。时间间隔作为第一个参数,可以是秒或收集值的数目(前缀为#)

    例如:{www.zabbix.com:net.tcp.service[ftp].max(#3)}=0,表示设备www.zabbix.com中的key为net.tcp.service[ftp] 在最近三次获取到的值最大数值都为0,则视为故障

    七、触发器之min使用范例

    参数:秒或#num
    支持值类型:float和int

    描述:返回指定时间间隔的最小值。时间间隔作为第一个参数,可以是秒或收集值的数目(前缀为#)。函数支持第二个可选参数time_shift

    例如:{www.zabbix.com:icmppingloss.min(5m)}>20,表示www.zabbix.com设备在5分钟内用icmppingloss获取到的最小值大于20,即故障发生

    八、触发器之nodata使用范例

    参数:秒
    支持值类型:any

    描述: 当返回值为1时,表示指定的间隔(间隔不应小于30s)没有接收到数据,0表示其他情况

    例如:{www.zabbix.com:agent.ping.nodata(5m)}=1,表示设备www.zabbix.com的agent.ping在最近5分钟内没有接收到数据,及故障发生

    九、触发器之dalta使用范例

    参数:秒或#num
    支持值类型:float或int

    描述:返回指定时间间隔内的最大值与最小值的差值(max()-min())。时间间隔作为第一个参数,可以是秒或者收集值的数目

    例如:{www.zabbix.com:net.if.in[eth0].delta(10m)}>10M,表示设备www.zabbix.com的接口eth0在最近10分钟内,最大值和最小值之间的差大于10MB,即认为故障发生

    十、触发器之diff使用范例

    参数:忽略
    支持值类型:float、int、text、log、string

    描述:返回值为1,表示最近的值与之前的值不同,0为其他情况

    例如:{www.zabbix.com:agent.version.diff(0)}>0,表示设备www.zabbix.com的agent.version在最近一次的值和之前的值不同

    相关文章

      网友评论

        本文标题:Zabbix 触发器表达式使用规范

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