函数
  描述 参数 说明
abschange
  最近获取值与之前获取值差的绝对值。   支持值的类型: float, int, str, text, log

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

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

 
avg (sec|#num,<time_shift>)
  指定评估期内一个项目的平均值。 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,<time_shift>)
  项目值和掩码的按位与值。 sec (可省略) or #num - 最新的第N个值
mask (必须有) - 64位无符号整数 (0 - 18446744073709551615)
time_shift (可选) - 参照 avg()
支持值的类型: int

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

尽管以二进制方式进行比较,但是所有的参数和返回值都是十进制数。 例如, 检查第三位是和4做比较而不是100。

例如:
⇒ band(,12)=8 or band(,12)=4 → 第三位和第四位被设置,但不是同时
⇒ band(,20)=16 → 第三位没有被设置但是第五位被设置了。

从Zabbix 2.2.0开始支持该函数。

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

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

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

 
count (sec|#num,<pattern>,<operator>,<time_shift>)
  指定评估期内值的个数。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示
pattern (可选) - 所需模式 (整型项目 - 精确匹配; 浮点型项目 - 误差值0.000001内)
operator (可选)

支持的 operators:
eq - 相等
ne - 不相等
gt - 大于
ge - 大于等于
lt - 小于
le - 小于等于
like - 只要包含pattern (区分大小写)就被匹配
band - 按位与
regexp - 给定 pattern 的正则表达式,区分大小写
iregexp - 给定 pattern 的正则表达式,不区分大小写

注意:
eq (默认), ne, gt, ge, lt, le, band, regexp, iregexp 支持整数型项目
eq (默认), ne, gt, ge, lt, le, regexp, iregexp 支持浮点型项目
like (默认), eq, ne, regexp, iregexp支持string, text and log 型项目

time_shift (可选) - 参照 avg()

支持值的类型: float, int, str, text, log

band 做第三个参数时,第二个 pattern 参数可以用两个数字表示, 以'/'分隔: number_to_compare_with/mask。 count() 计算项目值和掩码的按位与,再和 number_to_compare_with 比较的结果。如果按位与值等于 number_to_compare_with ,则计数。
如果掩码值等于 number_to_compare_with, 只需要指定掩码值。

regexp 或 iregexp 做为第三个参数时,第二个 pattern 参数可以是一个普通的或 global
( '@' 开头)的正则表达式。
避免全局表达式大小写敏感从全局表达式设置中继承。为了方便正则匹配,浮点型数值通常以四位小数方式表示。也应该注意大数值在以十进制(存储在数据库中)和二进制(zabbix
server中使用)表示中的区别,可能会影响十进制的第四位小数。

例如:
⇒ count(10m) → 过去10分钟值的个数
⇒ count(10m,12) → 过去10分钟值等于12的个数
⇒ count(10m,12,"gt") → 过去10分钟值大于12的个数
⇒ count(#10,12,"gt") → 最新10个值,它们的值大于12的个数
⇒ count(10m,12,"gt",1d) → 一天前的前十分钟值大于12的个数
⇒ count(10m,6/7,"band") → 过去10分钟值最低三个有效位是 '110' (十进制)的个数。
⇒ count(10m,,,1d) → 一天前的前十分钟值的个数

从Zabbix 1.6.1开始支持#num参数。
从Zabbix 1.8.2开始支持time_shift参数和字符串运算符。
从Zabbix 2.2.0开始支持band运算符。
从Zabbix 3.2.0开始支持regexp, iregexp运算符。

 
date
  当前日期,以YYYYMMDD格式表示。   支持值的类型: any

返回值如: 20150731

 
dayofmonth
  当前是本月的第几天,取值范围从1到31。   支持值的类型: any

从Zabbix 1.8.5开始支持该函数。

 
dayofweek
  当前是本周的第几天,取值范围从1到7 (周一 - 1, 周日 - 7).   支持值的类型: any
 
delta (sec|#num,<time_shift>)
  指定评估期内最大值和最小值的差('max()' 减去 'min()')。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示
time_shift (可选) - see avg()
支持值的类型: float, int

从Zabbix 1.8.2开始支持time_shift参数。

 
diff
  比较最近获取值与之前获取值是否相同.   支持值的类型: float, int, str, text, log

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

 
forecast (sec|#num,<time_shift>,time,<fit>,<mode>)
  项目的未来值,最大值,最小值,差值或平均值。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示
time_shift (可选) - see avg()
time - 需要进行估计的指定时间
fit (可选) - 用于匹配历史数据的函数

支持的fits:
linear - 线性函数
polynomialN - n次多项式 (1 <= N <= 6)
exponential - 指数函数
logarithmic - 对数函数
power - 幂函数

注意:
默认是linear , polynomial1 等同于 linear

mode (可选) - demanded output

支持的 modes:
value - 值 (默认)
max - 最大值
min - 最小值
delta - 最大值-最小值
avg - 平均值

注意:
value 估计项目值在此刻now + time
max, min, delta and avg 根据nownow + time 时间段估计的项目值确定结果

支持值的类型: float, int

如果返回值大于 999999999999.9999 或者小于 -999999999999.9999, 返回值相应被设置为999999999999.9999 或 -999999999999.9999 。

只有在表达式被误用时才不被支持(错误的项目类型,无效的参数),出现错误时返回-1。

例如:
⇒ forecast(#10,,1h) → 根据最新的十个值估计一小时后的项目值
⇒ forecast(1h,,30m) → 根据过去一小时的值估计三十分钟后的项目值
⇒ forecast(1h,1d,12h) → 根据一天前的一个小时值估计十二个小时后的项目值
⇒ forecast(1h,,10m,exponential) → 根据过去一小时并按照指数函数方式估计十分钟后的项目值
⇒ forecast(1h,,2h,polynomial3,max) → 根据过去一小时并按照三次多项式方式估计两小时的最大项目值
⇒ forecast(#​2,,​-20m) → 根据最新的两个值估计二十分钟前的项目值 (比使用last()或prev()函数更加精确, 特别是项目很少更新的时候, 比如说, 一小时一次)

从Zabbix 3.0.0开始支持该函数。
​从Zabbix 3.0.6 和 3.2.2开始支持负的​time值。
通过 predictive trigger functions查看扩展信息。

 
fuzzytime (sec)
  检查项目时间戳和zabbix服务器时间相差多大。 sec - 秒数 支持值的类型: float, int

返回值:
0 - 如果项目时间戳和zabbix服务器时间戳之间相差超过指定的时间
1 - 其它。

常使用system.localtime来检查本地时间是否与zabbix服务器的时间相同。
也可以使用vfs.file.time[/path/file,modify]键值检测文件是否长时间未更新。

例如:
⇒ fuzzytime(60)=0 → 如果时间差超过60秒,就会检测到一个问题

 
iregexp (pattern,<sec|#num>)
  该函数和 regexp() 类似,只是不区分大小写。 see regexp() 支持值的类型: str, log, text
 
last (sec|#num,<time_shift>)
  最近的值。 sec (可省略) or #num - 最新的第N个值
time_shift (可选) - see avg()
支持值的类型: float, int, str, text, log

注意此处的 #num 参数和其它一些函数的作用不用。
例如:
last() 通常等同于 last(#1)
last(#3) - 第三个最新值 (不是三个最新值)

如果在history中同一秒有多个值存在,Zabbix不能保证值的精确顺序。

从Zabbix 1.6.2开始支持 #num 参数。
从Zabbix 1.8.2开始支持 time_shift 参数。

 
logeventid (pattern)
  检查最近日志记录的EventID是否匹配正则表达式。 pattern - 使用正则表达式表示需要匹配的模式, POSIX extended 类型。 支持值的类型: log

返回值:
0 - 不匹配
1 - 匹配

从Zabbix 1.8.5开始支持该函数。

 
logseverity
  最近日志记录的日志等级。   支持值的类型: log

返回值:
0 - 默认等级
N - 对应的等级 (整数,常用语Windows event logs: 1 - Information, 2 - Warning, 4 -
Error, 7 - Failure Audit, 8 - Success Audit, 9 - Critical, 10 -
Verbose).
Zabbix从Windows event log Information域获取日志等级。

 
logsource (pattern)
  检查最近的日志记录是否匹配参数的日志来源。 pattern - string类型 支持值的类型: log

返回值:
0 - 不匹配
1 - 匹配
通常用于Windows event logs. 例如, logsource("VMware Server").

 
max (sec|#num,<time_shift>)
  指定评估期内一个项目的最大值。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示
time_shift (可选) - see avg()
支持值的类型: float, int

从Zabbix 1.8.2开始支持 time_shift 参数。

 
min (sec|#num,<time_shift>)
  指定评估期内一个项目的最小值。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示
time_shift (可选) - see avg()
支持值的类型: float, int

从Zabbix 1.8.2开始支持 time_shift 参数。

 
nodata (sec)
  检查是否没有接收到数据。 sec - 评估期以秒值表示。
时间不应该少于30秒,因为timer处理器每30秒计算一次该函数。

nodata(0) 不被允许.

支持值的类型: any

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

注意,如果在第一个参数指定的时间内出现以下问题,该函数会报错:
- 没有数据以及Zabbix server被重启
- 没有数据以及修复完成
- 没有数据以及项目被添加或重新激活
错误显示在触发器configuration的 Info 列 .

 
now
  距离Epoch (00:00:00 UTC, January 1, 1970)时间的秒数。   支持值的类型: any
 
percentile (sec|#num,<time_shift>,percentage)
  P-th 一段时间的百分值, P (percentage) 做为第三个参数。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示
time_shift (可选) - see avg()
percentage - 0 and 100 (包括)之间的一个浮点数,小数点后最多四位
支持值的类型: float, int

从Zabbix 3.0.0开始支持该函数。

 
prev
  前一个值。   支持值的类型: float, int, str, text, log

返回值和 last(#2)相同。

 
regexp (pattern,<sec|#num>)
  检查最近的值是否匹配正则表达式。 pattern - 正则表达式, POSIX extended 样式。
sec or #num (可选) - 评估期以秒值或最新值个数(跟在#号后)表示。 这种情况下,可处理一个值以上。
支持值的类型: str, text, log

返回值:
1 - 找到
0 - 其它

该函数区分大小写。

 
str (pattern,<sec|#num>)
  从最新值中查找一个字符串。 pattern - string型
sec or #num (可选) - 评估期以秒值或最新值个数(跟在#号后)表示。 这种情况下,可处理一个值以上。
支持值的类型: str, text, log

返回值:
1 - 找到
0 - 其它

该函数区分大小写。

 
strlen (sec|#num,<time_shift>)
  最新值的字符长度(而不是字节数)。 sec (可省略) or #num - 最新的第N个值
time_shift (可选) - see avg()
支持值的类型: str, text, log

注意此处的 #num 参数和其它一些函数的作用不用。

例如:
⇒ strlen()(等同于 strlen(#1)) → 最新值的长度
⇒ strlen(#3) → 最新的第三个值的长度
⇒ strlen(,1d) → 一天前最新值的长度。

从Zabbix 1.8.4开始支持该函数。

 
sum (sec|#num,<time_shift>)
  指定评估期内项目值的和。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示。
time_shift (可选) - see avg()
支持值的类型: float, int

从Zabbix 1.8.2开始支持 time_shift 参数。

 
time
  当前时间,以HHMMSS格式表示。   支持值的类型: any

返回值如: 123055

 
timeleft (sec|#num,<time_shift>,threshold,<fit>)
  达到阀值需要多久时间。 sec or #num - 评估期以秒值或最新值个数(跟在#号后)表示。
time_shift (可选) - see avg()
threshold - 阀值
fit (可选) - see forecast()
支持值的类型: float, int

如果返回值大于 999999999999.9999, 则被设置为999999999999.9999.

如果达不到阀值则将返回值设置为999999999999.9999。

只有在表达式被误用时才不被支持(错误的项目类型,无效的参数),出现错误时返回-1。

例如:
⇒ timeleft(#10,,0) → 根据最新的十个值估计项目值达到0需要的时间
⇒ timeleft(1h,,100) → 根据过去一小时的值估计项目值达到100需要的时间
⇒ timeleft(1h,1d,0) → 根据一天前的一个小时值估计项目值达到0需要的时间
⇒ timeleft(1h,,200,polynomial2) → 根据过去一小时并按照二次多项式方式估计项目值达到200需要的时间

从Zabbix 3.0.0开始支持该函数。
从Zabbix 3.0.6 和 3.2.2开始支持Unit symbols 的 ​threshold 参数。
通过 predictive trigger functions查看扩展信息。

zabbix3.4.7官方解释触发器的更多相关文章

  1. 零宽度正预测先行断言是什么呢,看msdn上的官方解释定义

    最近为了对html文件进行源码处理,需要进行正则查找并替换.于是借着这个机会把正则系统地学一下,虽然以前也用过正则,但每次都是临时学一下混过关的.在学习的过程中还是遇到不少问题的,特别是零宽断言(这里 ...

  2. 为什么我刚发表的文章变成了“待审核”,csdn有没有官方解释啊

    为什么我刚发表的文章变成了"待审核",csdn有没有官方解释啊,什么样的文章才会变为待审核呢? 并且从草稿箱和回收站里也看不到我的文章了,希望我的文章没有删掉. 文章的字是一个个打 ...

  3. @Resource注解的官方解释

    一.@Resource注解的官方解释@Resource annotation, which is semantically defined to identify a specific target ...

  4. SDE在64位Server2008下Post启动服务失败官方解释

    解决了一个SDE启动问题,在此记录一下 在server 2008 64位下安装完arcgis sde之后,Post启动服务,总是失败 查看SDE日志(etc目录下) DB_open_instance( ...

  5. cocos2d-x 3.0 touch事件官方解释

    官方解释 http://www.cocos2d-x.org/docs/manual/framework/native/input/event-dispatcher/zh#_1

  6. WM_ERASEBKGND官方解释(翻译),以及Delphi里所有的使用情况(就是绘制窗口控件背景色,并阻止进一步传递消息)

    #define WM_ERASEBKGND                   0x0014 Parameters wParam A handle to the device context. //  ...

  7. MATLAB ' : ' 官方解释

    1.冒号的作用 产生矢量,阵列标注以及for-loop迭代子 2.描述 冒号是MATLAB中最有用的操作符之一.它使用下述规则来创建有规则的空间矢量: j:k is the same as [j,j+ ...

  8. Android USER 版本与ENG 版本的差异--MTK官方解释

     分类: Android(4)  Description]Android USER 版本与ENG 版本的差异 [Keyword]USER ENG user eng 用户版本 工程版本 差异 [Solu ...

  9. Oracle中V$SESSION等各表的字段解释,Oracle官方解释

    一.常用的视图 1.会话相关视图 View Description V$PROCESS Contains information about the currently active processe ...

随机推荐

  1. PHP多维数组转一维

    目录 1. array_column函数 2. array_walk函数 3. array_map函数 4. foreach循环 5. array_map变种 参考:https://www.awaim ...

  2. 一、iOS开发环境搭建

    前置条件 1. 必要:一台装有Mac OS X操作系统的电脑:经济允许的话可以买一部Mac book:否则的话,可以试试黑苹果或虚拟机. 2.必要:一个有可用的Apple ID:免费,在Apple的官 ...

  3. 微信OpenID获取

    用户要求在微信端登录一次后,以后不需要再登录.  我的系统是单独的一个网站. 使用MVC的记住密码功能, 如果用户重启,就还是要输入密码,所以需要有一个唯一不变的用来标示用户的ID.  OpenID就 ...

  4. shell中输出日期的一个函数

    开始 function T () { date '+%F %T.%N' } 结束

  5. hdu5517 二维树状数组

    题意是给了 n个二元组 m个三元组, 二元组可以和三元组 合并生成3元组,合并条件是<a,b> 与<c,d,e>合并成 <a,c,d> 前提是 b==e, 如果存在 ...

  6. The All-purpose Zero (最长公共子序列)

    题意:求最长公共子序列,但是有个辅助条件,那就是如果那个值为0,那么他可以更换为任意值. 思路:假设现在只剩下没有0的序列是不是就很好求了?那么我们的想法就是看有没有办法将0往最左端或者最有端移动,显 ...

  7. SpringMvc HandlerMappings 何时初始化?

    SpringMvc 的转发控制器 DispatcherServlet 执行 initStrategies(),在什么时候初始化 HandlerMappings ? 在容器 AbstractApplic ...

  8. “==”和equals

    == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 1.比较的是操作符两端的操作数是否是同一个对象.2.两 ...

  9. ORA-55617解决方法

    昨天一测试环境出现异常ORA-55617: Flashback Archive "XXXXX" runs out of space and tracking on "XX ...

  10. oracle group by placement可能导致错误结果的bug

    Last week I’ve mentioned on Twitter that we ran into wrong result bug. We found workaround quickly b ...