函数
  描述 参数 说明
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. 【JVM】-NO.115.JVM.1 -【JDK11 HashMap详解-4-伸展树、B树】

    .Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  2. 四、UI开发之核心基础——约束(实用)

    概述 本节将会介绍最常用的几种约束,基本可以满足90%以上的UI布局要求. 先附上一份其他优秀博客https://blog.csdn.net/companion_1314/article/detail ...

  3. 两个有序数组的上中位数和第K小数问题

    哈,再介绍个操蛋的问题.当然,网上有很多解答,但是能让你完全看懂的不多,即便它的结果是正确的,可是解释上也是有问题的. 所以,为了以示正听,我也做了分析和demo,只要你愿意学习,你就一定能学会,并且 ...

  4. 安装caffe-ssd或者caffe时make all,make pycaffe,make test运行慢的问题

    之所有运行慢,是因为没有在这三条语句后面加上 -j,即没用全部的进程运行,不加-j 表示用单一进程运行,加上-j5表示用5个进程,-j不带数字表示用所有进程

  5. oracle 死锁

    oracle 死锁 --查用户名,查客户端机器 SELECT distinct s.username,s.MACHINE, s.sid||','||s.serial# FROM gv$session ...

  6. Node + Redis 实现分布式Session方案(转载)

    Session是什么? Session 是面向连接的状态信息,是对 Http 无状态协议的补充. Session 怎么工作? Session 数据保留在服务端,而为了标识具体 Session 信息指向 ...

  7. Java连接数据库 #06# SQL与代码分离(精化版本)

    索引 DAO层依赖关系草图 应用示例 接Java连接数据库#05#,对代码进行改进. DAO层依赖关系草图 应用示例(只需3步!) 1.首先定义接口类: package org.sample.shop ...

  8. LeetCode #001# Two Sum(js描述)

    索引 思路1:暴力搜索 思路2:聪明一点的搜索 思路3:利用HashMap巧解 问题描述:https://leetcode.com/problems/two-sum/ 思路1:暴力搜索 一个很自然的想 ...

  9. Linux 系统最大TCP连接数 调优

    Linux系统TCP最大连接数 Linux系统可接连接到最大的TCP连接数,高并发情况下可进行扩展加大,最大为65536. 限制最大TCP连接数 修改文件:/etc/sysctl.conf 生效命令: ...

  10. 最短路径之Bellman-Ford——解决负权边

    Bellman-Ford算法非常简单,核心代码四行,可以完美的解决带有负权边的图. for(k=1;k<=n-1;k++) //外循环循环n-1次,n为顶点个数 for(i=1;i<=m; ...