zoukankan      html  css  js  c++  java
  • Zabbix 触发器函数方法整理

    函数介绍

    abschange
    参数:忽略
    支持类型:float,int,str,text,log
    作用:返回最近获得的值与之前获得值差的绝对值,对于字符串类型:0表示相等,1表示不同
    avg 参数:秒或
    #num 支持类型:float,int 作用:返回一段时间的平均值 举例: avg(5):最后5秒的平均值 avg(#5):表示最近5次得到值的平均值 avg(3600,86400):表示一天前的一个小时的平均值 如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间, #n表示最近n次的值 示例: 触发器名称:Comparing average load today with average load of the same time yesterday (使用 time_shift 时间偏移量参数). {server:system.cpu.load.avg(1h)}/{server:system.cpu.load.avg(1h,1d)}>2 This expression will fire if the average load of the last hour tops the average load of the same hour yesterday more than two times. max 参数:秒或#num 支持值类型: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 支持值类型: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) nodata 参数:秒 支持值类型:any 描述:当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示其他. 示例: 触发器名称:No heartbeats within last 3 minutes 使用函数 nodata(): {zabbix.zabbix.com:tick.nodata(3m)}=1 change 参数:忽略 支持类型:float,int,str,text,log 作用:返回最近获得值与之前获得值的差值,对于字符串0表示相等,1表示不同 举例: change(0)>n:忽略参数一般输入0,表示最近得到的值与上一个值的差值大于n 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: 内容匹配 date 参数:忽略 支持类型:any 作用:返回当前的时间,格式YYYYMMDD dayofmonth 返回当前是本月的第几天
    dayofweek 返回当前是本周的第几天
    delta 参数:秒或
    #num 支持类型:float,int 作用:返回时间间隔内的最大值与最小值的差值 diff 参数:忽略 支持值类型:float,int,str,text,log 作用:返回值为1表示最近的值与之前的值不同,0为其他情况 示例: 触发器名称:/etc/passwd has been changed 使用函数 diff(): {www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0 fuzzytime 参数:秒 支持值类型:float,int 作用:返回值为1表示监控项值的时间戳与ZabbixServer的时间多N秒,0为其他.常使用system.localtime来检查本地时间是否与Zabbixserver时间相同. 示例: 触发器名称:Check if client local time is in sync with Zabbix server time 使用函数 fuzzytime(): {MySQL_DB:system.localtime.fuzzytime(10)}=0 主机MySQL_DB当前服务器时间如果与zabbix server之间的时间相差10秒以上,表达式返回true,触发器状态改变为“problem” 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()函数获取它的使用方法
    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"] now 参数:忽略 支持值类型:any 描述:返回距离Epoch(1970年1月1日00:00:00UTC)时间的秒数 prev 参数:忽略 支持值类型:float,int,str,text,log 描述:返回之前的值,类似于last(#2) regexp 参数:第一个参数为string,第二个参数为秒或#num 支持值类型:str,log,text 描述:检查最近的值是否匹配正则表达式,参数的正则表达式为POSIX扩展样式,第二个参数为秒数或收集值的数目,将会处理多个值.本函数区分大小写。当返回值为1时表示找到,0为其他. str 参数:第一个参数为string,第二个参数为秒或#num 支持值类型:str,log,text 描述:查找最近值中的字符串。第一个参数指定查找的字符串,大小写敏感。第二个可选的参数指定秒数或收集值的数目,将会处理多个值。当返回值为1时表示找到,0为其他. 示例: 触发器名称:Zabbix agent needs to be upgraded 使用函数str(): {zabbix.zabbix.com:agent.version.str("beta8")}=1 如果当前zabbix agent版本包含beta8(假设当前版本为1.0beta8),这个表达式会返回true. strlen 参数:秒或#num 支持值类型:str,log,text 描述:指定最近值的字符串长度(并非字节),参数值类似于last函数.例如strlen(0)等价于strlen(#1),strlen(#3)表示最近的第三个值,strlen(0,86400)表示一天前的最近的值.该函数从Zabbix1.8.4起开始支持 sum 参数:秒或#num 支持值类型:float,int 描述:返回指定时间间隔中收集到的值的总和.时间间隔作为第一个参数支持秒或收集值的数目(以#开始).从Zabbix1.8.2开始,本函数支持time_shift作为第二个参数。可以查看avg函数获取它的用法 time 参数:忽略 支持值类型:any 描述:返回当前时间,格式为HHMMSS,例如123055

    函数案例


    •  # 最新返回值不等于1就触发
    • {test:key.last(0)}<>1

    •  # 最新返回值等于1就触发
    • {test:key.last(0)}=1

    •  # 连续三分钟平均值在80%就触发
    • {test:key.avg(3m)}>80

    •  # 连续三分钟最大值在80%以上就触发
    • {test:key.max(3m)}>80

    内置触发器案例


    •  # 如果agent客户端断开连接3分钟就返回1就出发报警
    • # 注:agent ,需要先建立监控项,可在模板中查看。
    • 触发器:{test:agent.ping.nodata(3m)}=1

    • # 如果CPU使用率1分钟平均值超80%就报警
    • # 监控部署:名称:CPU $2 time、键值:system.cpu.util[,idle]、信息类型:浮点数、单位:%  
    • 触发器:{test:system.cpu.util[,idle].avg(3m)}<20



  • 相关阅读:
    QFramework 使用指南 2020(二):下载与版本介绍
    QFramework 使用指南 2020 (一): 概述
    Unity 游戏框架搭建 2018 (二) 单例的模板与最佳实践
    Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
    Unity 游戏框架搭建 2017 (二十三) 重构小工具 Platform
    Unity 游戏框架搭建 2017 (二十二) 简易引用计数器
    Unity 游戏框架搭建 2017 (二十一) 使用对象池时的一些细节
    你确定你会写 Dockerfile 吗?
    小白学 Python 爬虫(8):网页基础
    老司机大型车祸现场
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/9809540.html
Copyright © 2011-2022 走看看