Triggers函数的分类

功能 函数
值的比较与查找 abschange、delta、diff、band、change、nodata、last、prev
值的计算 max、min、avg、sum、count
时间 now、time、date、dayofmonth、dayofwek、fuzzytime
日志 logeventid、logseverity、logsource
字符串匹配 iregexp、regexp、str、strlen
趋势预测 percentile、forecast、timeleft

Trigger函数----比较 与查找

求最近两值差的绝对值----abschange

函数功能
     返回最近两值差的绝对值,即最近获取到的值与前一个值的差的绝对值,数学表达式为|last_value - prev_value|。如果值为字符串类型,则其绝对值返回0或1,其中0表示值相等,1表示值不等。该函数常用于在一个范围波动的场合。

函数参数
  不支持任何参数的传入
支持数据类型
  支持float、int、str、text
求最大值与最小值的差----delta

函数功能
      在指定的一段时间内,或者指定数据个数,用其中的最大值减去最小值得出的差(max-min),数学表达式为max{v1,v2,…vn}-min{v1,v2…vn},其中v1,v2,…vn为时间T内的数值。该函数适用于最大值和最小值比较的场合,如系统的最高负载和最低负载的差值。

函数用法
      delta(sec|#num,<time_shift>)>N #最大值与最小值的差值大于N

delta(sec|#num,<time_shift>)<N #最大值与最小值的差值小于N

delta(sec|#num,<time_shift>)=N #最大值与最小值的差值等于N

delta(sec|#num,<time_shift>)<>N #最大值与最小值的差值不等于N

delta(10m,1d)>10 # 表示1天前的10分钟数据的最大值与最小值的差大于10

delta(#5,1d)>10 # 表示1天前的连续5个数据的最大值与最小值的差大于10

delta(10m)>10 # 表示最近10分钟内的数据的最大值与最小值的差大于10

delta(#5)>10 # 表示最近连续5个数值的最大值与最小值的差大于10

函数参数
      第一个参数为秒或#num

第二个参数为某个时间段前(time_shift)

数据类型
      支持float和int数据类型

判断最近两值是否相同----diff

函数功能
    比较最近数据的值和前一个数据的值,如果两值相同,函数运行结果则为0,不同则为1.通过比较最近两次的数值是否相同,从而判断出运行状态,如检测主机名,系统版本是否发生变化等。

函数用法
    diff()=0 #最近两值相同

diff()=1 #最近俩值不同

函数参数
    不支持任何参数的传入

数据类型
    支持float、int、str、text和log数据类型

求最近两值的变化量----change

函数功能
      返回最近数据值与前一次数据值的差,顾其运算结果的值可以是正数(>0),也可以是负数(<0)。当数据类型为字符串是,如果最近两值相等,则结果为0,如果不相等,则结果为1.比如系统启动时间小于上一次,则说明系统已经发生重启。

函数参数
      不支持任何参数的传入

数据类型
      支持float、int、str、text和log数据类型。

数据失联----nodata

函数功能
      检测一段时间内是否接收到数据,返回值为1表示没有接收到数据,返回值为0表示接收到数据了。

函数参数
      只支持一个时间参数,如30S、5m、1h,时间参数必须大于或等于30S,这是因为历史数据同步进程(History Syncer Process)是每隔30S执行一次这个函数的。

数据类型
      支持float、int、str、text和log数据类型。

获取最新数据----last

函数功能
      获取最近一段时间内或指定个数的数据,如求最近系统的允许进程数量。

函数用法
      last(sec|#num,<time_shift>)

last(3m)=N #最近3分钟监控数值等于N

last(#3)>N # 第3次的监控数值大于N

last(#3,3m)<N #最近3分钟第3次的监控数值小于N

        注意:#num表示最近的第N个值,与其他函数#num的意思是不同的

数据类型
      支持float、int、str、text和log数据类型

求前一个值----prev

函数功能
      求前一个数据的值,等同于last(#2)

函数用法
      prev()=N #前一个值等于N

函数参数
      不支持任何参数的传入

数据类型
      支持float、int、str、text和log数据类型

Trigger函数----计算

求最大值----max

函数功能
      在指定的一段时间内,或者指定数据个数,找出最大值,数学表达式为max{v1,v2,…vn},其中Vn为时间T内的数值。判断取值是否都为0,如3次取值的最大值都为0。

函数用法
      max(sec|#num,<time_shift>)

max(5m)>N #最近5分钟内取值的最大值

max(#3)=N #最近3次取值的最大值

max(#3,10m)<>N #10分钟前3次取值的最大值

max(10m,1d)<>N #1天之前10分钟内取值的最大值

函数参数
      第一个参数为秒或#num(监控指标数值的个数)

第二个参数为某个时间段前

数据类型
      支持float和int数据类型

求最小值----min

函数功能
      在指定的一段时间内,或者指定数据个数,找出最小值,数学表达式为min{v1,v2…vn},其中v1,v2…vn为时间T内的数值。判断取值是否都为0。

函数用法
      min(sec|#num,<time_shift>)

min(5m)>N #最近5分钟内取值的最小值

min(#3)=N #最近3次取值的最小值

min(#3,10m)<>N #10分钟前3次取值的最小值

min(10m,1d)<>N #1天之前10分钟内取值的最小值

函数参数     
      第一个参数为秒或#num(监控指标数值的个数)

第二个参数为某个时间段前

数据类型
      支持float和int数据类型

求平均值----avg

函数功能
      在指定的一段时间内,或者指定数据个数,求平均值,数学表达式为avg{v1,v2…vn},其中v1,v2…vn为时间T内的数值。判断取值是否都为0,如3次取值的平均值为0。

函数用法
      avg(sec|#num,<time_shift>)

avg(5m)>N #最近5分钟内取值的平均值

avg(#3)=N #最近3次取值的平均值

avg(#3,10m)<>N #10分钟前3次取值的最平均值

avg(10m,1d)<>N #1天之前10分钟内取值的平均值

函数参数     
      第一个参数为秒或#num(监控指标数值的个数)

第二个参数为某个时间段前

数据类型
      支持float和int数据类型

值求和----sum

函数功能
      在指定的一段时间内,或者指定数据个数,求所有值的和,数学表达式为sum{v1,v2…vn},其中v1,v2…vn为时间T内的数值。

函数用法
      sum(sec|#num,<time_shift>)

sum(5m)>N #最近5分钟内取值的所有数据相加求和

sum(#3)=N #最近3次取值的所有数据相加求和

sum(#3,10m)<>N #10分钟前3次取值的所有数据相加求和

sum(10m,1d)<>N #1天之前10分钟内取值的所有数据相加求和

函数参数      
      第一个参数为秒或#num(监控指标数值的个数)

第二个参数为某个时间段前

数据类型
      支持float和int数据类型

统计个数----count

函数功能
      在指定的一段时间内,或者指定数据个数,统计数值个数,数学表达式为count{v1,v2…Vn},其中v1,v2…Vn为时间T内的数值

函数用法
      count(sec|#num,,,<time_shift>)

count(10m) #最近10分钟内数值的个数

count(600,12) #最近10分钟内数值等于12的个数

count(10m,“error”,eq) #最近10分钟内等于“error”的值的数量

count(10m,12,gt) #最近10分钟内超过12的值的数量

count(#10,12,gt) #最近10个值超过12的值数量

count(10m,12,gt,1d) #1天前10的最近10分钟内超过12的值的数量

count(10m,6/7,band) #最近10分钟的值数,其中3个最低有效位为‘110’(二进制)

count(10m,1d) #1天前的最近10分钟的值的数量

函数参数
      eq:相等

ne:不相等

gt:大于

ge:大于或等于

lt:小于

le:小于或等于

like:内容匹配

band:位与运算

regexp:正则表达式匹配

iregexp:忽略大小写的正则表达式匹配

运算符支持的数据类型如下:

eq(默认)、ne、gt、ge、lt、le、band、regexp、iregexp支持整数

eq(默认)、ne、gt、ge、lt、le、regexp、iregexp支持浮点数

like(默认)、eq、ne、regexp、iregexp支持字符串、文本、日志

数据类型
      支持float、int、str、text和log数据类型

Trigger函数----时间

返回当前时间(年月日时分秒) ----now

函数功能  
      返回当前时间,距离Epoch(1970年1月1日 00:00:00UTC)时间的秒数。

函数用法
      now()=1535877351 # 当前时间的时间戳等于1535877351

函数参数
      不支持任何参数的传入

数据类型
      支持float、int、str、text和log数据类型

返回当前日期(年月日)----date

函数功能
      返回当前日期(格式为YYYYMMDD),例如20190102.

函数用法
      date()=20190102 # 当前日期等于20190102

函数参数
      不支持任何参数的传入

数据类型
      支持float、int、str、text和log数据类型

返回当前时间(时分秒)----time

函数功能
      返回当前时间,格式为HHMMSS,例如123055

函数用法
      time()=123055 #当前时间等于12:30:55

函数参数
      不支持任何参数的传入

数据类型
      支持float、int、str、text和log数据类型

本月第几天-----dayofmonth

函数功能
       返回当前时间是本月第几天(数值范围为1~31)

函数用法
       dayofmoth()-30 # 当前时间等于当月第30

函数参数
       不支持任何参数的传入

数据类型
       支持float、int、str、text和log数据类型

本周第几天----dayofweek

函数功能
      返回当前时间是本周第几天(数值范围为1~7),星期一是1,星期天是7。

函数用法
      dayofweek()=3 # 当前时间等于周三

函数参数
      不支持任何参数的传入

数据类型
      所有数据类型

时间对比----fuzzytime

函数功能
      将zabbix-agent的时间戳与zabbix-server的时间戳进行比较,如果差异超过指定的时间段,则函数返回值为0;如果时间戳小于间隔值,则函数返回值为1.

通常使用system.localtime来检查zabbix-agent端的时间与zabbix-server端的时间是否存在差异。

函数用法
      fuzzytime(sec)

fuzzytime(5m)=0 #监控项的时间与zabbix-server的时间相差大于5分钟

函数参数
      支持一个参数,即时间,如fuzzytime(5m)

数据类型
      支持float和int数据类型

Trigger函数----日志

日志ID----logeventid

函数功能
      检查最近的日志条目的event id是否与正则表达式匹配。参数为正则表达式,POSIX扩展样式。当返回值为0时,表示不匹配,当返回值为1时,表示匹配。

函数用法
      logeventid(pattern)

函数参数
      支持一个参数,可以使用正则表达式

数据类型
      仅支持log数据类型

获取日志等级----logseverity

函数功能
      返回最近的日志条目的日志等级N(log serverity)。当返回值为0时,表示默认等级,N为具体对应的等级(整数)。通常用于Windows event logs监控。Zabbix日志等级来源于Windows event logs的Information列。

函数功能
      logseverity()=0 #日志等级为0

函数参数
      不支持任何参数的传入

数据类型
      仅支持log数据类型

获取日志来源----logsource

函数功能
      检查最近的日志数据来源是否与正则表达式匹配。当返回值为0时,表示不匹配;当返回值为1时,表示匹配。通常用于windows event logs监控,例如logsource[“VMWare Server”]

函数用法
      logsource(pattern)

logsource(“web”) = 0 # 未匹配到web日志源

函数参数
      支持一个参数,可以使用正则表达式

数据类型
      仅支持log数据类型

Trigger函数----字符串匹配

正则表达式不区分大小写----iregexp

函数功能
      从值中查找与正则表达式匹配的数值,不区分大小写。当正则表达式匹配数值时,结果为1,当正则表达式不匹配数值时,结果为0。通常用于从字符串中正则匹配数据,如从日志中匹配报错、异常、关键字等。

函数用法
      iregexp(pattern,<sec|#num>)

iregexp(green) <>1 # 未检测到green字符串

函数参数
      第一个参数为匹配的字符串

第二个参数为秒或#num(监控指标数值的个数)

数据类型
      支持str、log和text数据类型

正则表达式区分大小写----regexp

函数功能
      从值中查找与正则表达式匹配的数值,区分大小写。当正则表达式匹配数值时,结果为1,当正则表达式不匹配数值时,结果为0。通常用于从字符串中正则匹配数据,如从日志中匹配报错、异常、关键字等。

函数用法
      regexp(pattern,<sec|#num>)

regexp(ON,#3) <>1 # 3次结果都未检测到ON字符串

函数参数
      第一个参数为匹配的字符串

第二个参数为秒或#num(监控指标数值的个数)

数据类型
      支持str、log和text数据类型

字符串匹配-----str

函数功能
      从值中查找字符串,区分大小写。当从数值中找到匹配值时,结果为1;如果未找到匹配的值,则结果为0。该函数在日志、文本、字符等场景中使用,可以通过此函数来判断版本、角色等信息。

函数用法
      str(pattern,<sec|#num>)

函数参数
      第一个参数匹配的字符串,大小写敏感

第二个参数为秒或#num(监控指标数值的个数)

支持str、log和text数据类型
字符串长度----strlen

函数功能
    判断字符串长度与预期是否相同,比如获取md5值,应该是32位的,如果不是32位的,则说明该数据与预期不匹配。

函数用法
    strlen(sec|#num,<time_shift>)
    
判断设备是否挂载成功
例:strlen(#1)=0 最后一次数据的字符串等于0就告警

数据类型
    支持str、log和text数据类型

Trigger函数----趋势预测

百分线----percentile

函数功能
    在指定的一段时间内,取出百分线值数。比如网络带宽流量,在某段时间内会有毛刺,去掉最高的几个值,计算出次高的值。

函数用法
    percentile(sec|#num,<time_shift>,percentage)

数据类型
    支持float和int数据类型

趋势预测----forecast

函数功能
    预测监控指标未来的最大值、最小值、增量值或平均值,用于评估从现在开始到未来一段时间的数值变化情况。

函数用法
    forecast(sec|#num,<time_shift>,time,,)

forecast(10m,1h,linear,value)

函数参数
    第一个参数为秒或#num(监控指标数值的个数),以最新采集到的数据为依据,以HASH标记开开头;

第二个参数为某个时间段前(time_shift),如1h之前的时间

第三个参数为时间(time),以秒为单位,即从现在往后的时间。如果是之前的历史数据,则为负数,如-20m表示20分钟之前的数据

第四个参数为可选的历史数据计算函数(fit),其支持的参数如下:

linear:线性函数

polynomialN:N次多项式(1<=N<=6)

exponential: 指数函数

logarithmic:对数函数

power:乘方(幂)函数

第五个参数为值的处理模式(mode).其中支持的参数如下

value:值(默认)

max:最大值

min:最小值

delta:最大值-最小值

avg:平均值

数据类型
    支持float和int数据类型

剩余时间----timeleft

函数功能
    监控指标达到设定的阈值所需要的时间(以秒为单位)

函数用法
    timeleft(sec|#num,<time_shift>,threshold,)

函数参数
    第一个参数为秒或#num(监控指标数值的个数),以最新采集到的数据为依据,以HASH标记开头

第二个参数为某个时间段前(time_shift)

第三个参数为阈值(threshold),即所定义的趋势阈值

第四个参数为可选的历史数据计算函数(fit),请参考forecast参数

数据类型
    支持float和int数据类型

zabbix探究告警触发器Triggers相关推荐

  1. zabbix邮箱告警的三种方式

    zabbix邮箱告警的三种方式 1.在web界面配置邮箱告警 2.在本地邮箱配置邮箱告警+脚本 3.在第三方邮箱配置邮箱告警+脚本 1.在web界面配置邮箱告警 添加媒介 我们以126邮箱为示例 先打 ...

  2. zabbix监控告警表报统计

    发送邮件的脚本 #!/usr/bin/python #coding:utf-8 import smtplib, time, os from email.mime.text import MIMETex ...

  3. 73 Zabbix 微信告警

    Zabbix 微信告警 1.注册企业微信 企业微信注册地址:https://work.weixin.qq.com 2.进入企业微信后台管理 2.1 添加微信成员

  4. php及时获取zabbix告警,zabbix邮件告警python脚本代码

    这篇文章介绍zabbix邮件告警python脚本代码#!/usr/bin/python # -*- coding: utf-8 -*- """ Zabbix SMTP A ...

  5. php永久mediaid,幺蛾子事件之-zabbix配置告警媒介报错mediaid重复

    幺蛾子事件之-zabbix配置告警媒介报错mediaid重复 admin • 2020 年 12 月 21 日 直接开篇点题好吧zabbix运行一段时间后,添加报警媒介类型后,添加收件人信息后保存报错 ...

  6. 模板学堂丨Zabbix监控告警大屏

    DataEase开源数据可视化分析平台模板市场( https://dataease.io/templates/)于2022年6月正式发布.模板市场旨在为DataEase用户提供专业.美观.拿来即用的仪 ...

  7. 老猿学5G:融合计费基于QoS流计费QBC的触发器Triggers

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 SMF中的功能体CTF在用户上网时达到一定条件就会向CHF上报流量,而CTF什么时候触发流量上报是由CTF中的触发器来控制的.在<老猿学5G: ...

  8. mysql检查备份数据脚本并在zabbix上告警

    知识点:1.zabbix自定义设置触发报警 2.zabbix_sender用法 3.zabbix采集器的用法 介绍zabbix_sender用法:zabbix获取key值有超时时间,如果自定义的key ...

  9. zabbix邮件告警

    zabbix使用139邮箱告警 使用139邮箱报警只需要注册一个139邮箱外加linux安装一个mailx即可.下面直接看步骤吧. 1.安装mailx [root@localhost opt]# yu ...

最新文章

  1. php中调用脚本,PHP中如何调用RScript脚本(附代码)
  2. bs cs架构区别_ehr系统是选择BS还是CS 架构?
  3. python初体验-hello world答案_Anaconda上的python3初体验
  4. .war vs .ear文件
  5. php 中文字符串长度_js或php获取字符串长度中文1个字符,英文0.5个字符
  6. Linux服务器CPU压力测试(本人亲测)
  7. 静默安装Oracle19c软件与数据库
  8. 计算机考试怎样删除美式键盘,Win10怎么把美式键盘删除_Win10彻底删除eng美式键盘?-192路由网...
  9. python 公开课_Python入门公开课
  10. 计算机界一些有意思的命名,程序员们也都很有情调嘛!
  11. 宏录制流程——例:生成工资条
  12. 计算机知识对于老师的帮助,教师计算机学习心得体会
  13. php生成二维码图片
  14. 爆料:外汇交易大师成功的秘诀
  15. ABAP调用启信宝HTTP restful API实例
  16. 2017三月c语言,2017年3月计算机c语言二级考试真题
  17. lradc按键驱动程序分析(for F1C100S)
  18. pycharm 设置字体大小
  19. 区块链:让回报远远大于风险
  20. 双向电源切换开关操作规则,如何选择双向电源自动开关?

热门文章

  1. 清除win+r的记录
  2. 华为OD机试真题 Python 实现【统一限载最小值】【2023 Q1 | 200分】
  3. 操作符—奇奇怪怪的表达式
  4. 黑马程序员_Java_异常
  5. 梅科尔工作室-江凌宇-鸿蒙笔记1
  6. MyBatis01:第一个程序
  7. 扫地机器人杂牌的怎么样_扫地机器人贵的和便宜的之间有何区别?
  8. abp生成proxy代理时的一些问题记录
  9. 基于kubernetes-1.21.5 部署 Rook
  10. java 15k_月薪15K的Java工程师必备的十大技能