函数介绍

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''(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

												

Zabbix 触发器函数方法整理的更多相关文章

  1. Zabbix触发器函数(取前后差值)

    获取最新值last zabbix触发器方法last用于获取item最新值或者第几个值以及某个时间的哪一个值. Last (most recent) T value is > N Last (mo ...

  2. jQuery中的效果函数方法整理

    注:以下所有的speed 参数可选,规定效果的时长.它可以取以下值:"slow"."fast" 或毫秒. 以下所有的callback 参数可选,是效果完成后所执 ...

  3. Zabbix触发器函数之count函数

    一.背景 zabbix监控中我们用的最多的是count这个函数,通过确认多次可以减少很多误告警,提高了运维效率.可以设置连续几次都异常才发出告警,这样一来,只要发出告警基本上就已经确定发生故障了. 二 ...

  4. zabbix触发器函数 count

    转摘至梅总文章 一直没用过这个函数,今天研究了下,确实很有用(用过的忽略): 之前很多功能都是用max,min,avg曲线实现的,其实用count最合理(如典典刚用的高防持续N次ping超时).   ...

  5. Zabbix实战-简易教程(9)--触发器函数(triggers)

    Zabbix触发器函数学习 本文主要讲述zabbix触发器函数. 1.abschange 参数:缺省 值类型:float, int, str, text, log 返回值解析: Returns abs ...

  6. zabbix触发器依赖

    触发器依赖 Zabbix - Router1 - Router2 – Host 如果router1宕机了,那么router2和host都不能连上,这样的话就会发router1.router2和host ...

  7. 【ZABBIX】Zabbix触发器的告警原理及创建方法

    概述:       触发器中的表达式使用很灵活,我们可以创建一个复杂的逻辑测试监控,触发器表达式形式如下: {<server>:<key>.<function>(& ...

  8. zabbix触发器表达式

    zabbix触发器表达式 触发器使用逻辑表达式来评估通过item获取的数据是处于哪种状态, 触发器中的表达式使用很灵活,我们可以创建一个复杂的逻辑测试监控,触发器表达式形式如下: {<serve ...

  9. zabbix触发器表达式详解

    Zabbix触发器的语法如下: {<server>:<key>.<function>(<parameter>)}<operator>< ...

随机推荐

  1. 【BZOJ1009】[HNOI2008]GT考试 next数组+矩阵乘法

    [BZOJ1009][HNOI2008]GT考试 Description 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的 ...

  2. 解决VMware Workstation虚拟机不能联网的解决办法

    在windows服务中查看,以下几个服务是否正常开启,没有就开启

  3. Servlet------>ServletConfig和ServletContext

    原理图: 之一--------->servletConfig 有些时候,有些参数不适合写死,而且初始化servlet要用,可以通过这个头来调用servletConfig 例如:serlet数据库 ...

  4. Linux压缩解压缩(unzip,tar)

    unzip tar 常用解压缩命令: tar -zxvpf:解压缩 tar -zcvpf: 压缩 # tar [-j|-z] [cv] [-f 建立的檔名] filename... <==打包与 ...

  5. [iOS微博项目 - 3.5] - 封装业务

    github: https://github.com/hellovoidworld/HVWWeibo   A.封装微博业务 1.需求 把微博相关业务(读取.写微博) 界面控制器不需要知道微博操作细节( ...

  6. GROUP_CONCAT 拼接顺序

    用 group_concat 拼接后的顺序 group_concat(id order by id) 里面id更新需要更换

  7. TCP粘包/拆包 ByteBuf和channel 如果没有Netty? 传统的多线程服务器,这个也是Apache处理请求的模式

    通俗地讲,Netty 能做什么? - 知乎 https://www.zhihu.com/question/24322387 谢邀.netty是一套在java NIO的基础上封装的便于用户开发网络应用程 ...

  8. 微信开发 获取用户openId 与路由控制

    w实践,满足当前需求. www.w.com www.w.com/w1.php $wxurl='https://open.weixin.qq.com/connect/oauth2/authorize?a ...

  9. [报错]Unable to simultaneously satisfy constraints

    项目中自定义Cell,控件使用autoLayout来设置约束,发现运行页面表现正常,但是控制台报如下错误: Unable to simultaneously satisfy constraints. ...

  10. react 日期

    1.首先安装moment : npm install moment --save 2.在文件中引用: import moment from 'moment' 3.使用方式: 当前时间:moment() ...