获取最新值last

zabbix触发器方法last用于获取item最新值或者第几个值以及某个时间的哪一个值。

Last (most recent) T value is > N
Last (most recent) T value is < N
Last (most recent) T value is = N
Last (most recent) T value is NOT N

触发器方法last - 语法

last (sec|#num,<time_shift>)
sec:暂时没用
#num:倒数第几个,例如#1,#2,默认为#1,即last()与last(#1)是一样的,zabbix 1.6.2开始支持
<time_shift>:时间偏移,1d表示昨天的这个时候,1h表示一小时前的这个时候,zabbix 1.8.2开始支持。几乎每次有这个我都解释一遍,怕有些同学没看到那几篇文章。

触发器方法last - 实例

CPU前一个上一个负载大于0.7

{web:system.cpu.load[percpu,avg1].last(#2)}>0.7

昨日此时CPU负载大于0.7

{web:system.cpu.load[percpu,avg1].last(,1d)}>0.7

zabbix触发器方法last - 支持类型

它支持类型包括:float, int, str, text, log

值匹配字符串str

zabbix触发器方法str用于获取item值是否包含你需要匹配的字符串

如下是web界面提供的功能:

Find string V in last (most recent) value. N = 1 - if found, 0 - otherwise
Find string V in last (most recent) value. N NOT 1 - if found, 0 - otherwise

触发器方法str - 语法

str (pattern,<sec|#num>)
pattern:要匹配的字符串
<sec|#num>:时间段,或者最近几个值

触发器方法str - 实例

当前agent版本是3.0.0.alpha2

{dd-pre-01:agent.version.str('3.0.0alpha2')}=1

zabbix触发器方法str - 支持类型

它支持类型包括:str, text, log

获取字符串长度strlen

zabbix触发器方法strlen用于获取item返回值长度

如下是web界面提供的功能:

Length of last (most recent) T value in characters is > N
Length of last (most recent) T value in characters is < N
Length of last (most recent) T value in characters is = N
Length of last (most recent) T value in characters is NOT N

触发器方法strlen - 语法

strlen (sec|#num,<time_shift>)
sec|#num:#num可以用,最近哪个值,#1表示最后一个值,#10表示倒数第10个值
time_shift:时间偏移,比如1d,那么就是一天前的这个时候。

触发器方法strlen - 实例

获取agent版本长度为4

{web:agent.version.strlen()}=4

获取agent版本倒数第二个值长度为4

{web:agent.version.strlen(#2)}=4

获取agent版本做这个这个时候值长度为4

{web:agent.version.strlen(,1d)}=4

等同于

{web:agent.version.strlen(#1,1d)}=4

触发器方法strlen - 支持类型

它支持类型包括:str, text, log

值比较diff

zabbix触发器方法diff用于获取item值是否发生变化

Difference between last and preceding values, then N = 1, 0 - otherwise
Difference between last and preceding values, then N NOT 1, 0 - otherwise

触发器方法diff - 语法

diff()
返回值
1 - 值发生变化
0 - 无变化 。

触发器方法diff - 实例

agent版本号发发生触发告警

{web:agent.version.diff()}=1

zabbix触发器方法diff - 支持类型

它支持类型包括:float,int,str, text, log

获最小值min

zabbix触发器函数min - 作用

获取一个时间周期内最小值

获取几个返回值中的最小值

以上方法,时间往前推移1分钟,1小时,1天等等

Minimum value for period T is > N
Minimum valuefor period T is < N
Minimum value for period T is = N
Minimum value for period T is NOT N

触发器函数min - 例子

语法:min(sec|#num,<time_shift>) 一个小时内cpu负载最小值小于0.2

{dd-pre-01:system.cpu.load[percpu,avg1].min(1h)}<0.2

cpu负载最近10个返回值,最小值小于0.2

{dd-pre-01:system.cpu.load[percpu,avg1].min(#10)}<0.2

zabbix触发器函数min/max - 实例

触发器名称:Free disk space is too low

Problem: 最近5分钟剩余磁盘空间小于10GB。(异常)

Recovery: 最近10分钟磁盘空间大于40GB。(恢复)

讲解:简单说便是一旦剩余空间小于10G就触发异常,然后接下来剩余空间必须大于40G才能解除这个异常,就算剩余空间达到了39G(不在报警条件里)那也是没用的.

({TRIGGER.VALUE}=0 and {server:vfs.fs.size[/,free].max(5m)}<10G)  or
({TRIGGER.VALUE}=1 and {server:vfs.fs.size[/,free].min(10m)}<40G)

获取最大值max

获取一个时间周期内最大值

获取几个返回值中的最大值

以上方法,时间往前推移1分钟,1小时,1天等等

Maximum value for period T is > N
Maximum value for period T is < N
Maximum value for period T is = N
Maximum value for period T is NOT N

触发器函数max - 例子

语法:max (sec|#num,<time_shift>) 一个小时内cpu负载最大值超过10

{dd-pre-01:system.cpu.load[percpu,avg1].max(1h)}>10

cpu负载最近10个返回值,最大值超过10

{dd-pre-01:system.cpu.load[percpu,avg1].max(#10)}>10

取平均值avg

取前后两个值对比,avg有如下取值方式:

最后N个值

最近XX时间,例如最近1h

以上1和2还要结合time_thift时间偏移参数,例如1h

Average value of a period is < N
Average value of a period is > N
Average value of a period is = N
Average value of a period is NOT N

触发器方法avg - 实例

CPU负载最近一小时平均值等于1

{dd-pre-01:system.cpu.load[percpu,avg1].avg(1h)}=1

CPU负载昨天当前时间的上一小时平均值等于1,1d表示时间往前推移1天,你可以写1h,1m,10d,现在明白了time_thrift的用法了吧?

{dd-pre-01:system.cpu.load[percpu,avg1].avg(1h,1d)}=1

CPU负载最近10次的平均值等于1

{dd-pre-01:system.cpu.load[percpu,avg1].avg(#10)}=1

昨天同一时间CPU负载最近10次的平均值等于1

{dd-pre-01:system.cpu.load[percpu,avg1].avg(#10,1d)}=1

zabbix触发器方法avg - 支持类型

它支持类型包括:float, int

前后差值abschange

zabbix取前后差值(绝对值)- abschange

Absolute difference between last and previous value is = N
Absolute difference between last and previous value is > N
Absolute difference between last and previous value is < N
Absolute difference between last and previous value is NOT N

如果(每核)CPU 1分钟负载浮动1(突然增加1,1分钟后又降低1)

{web:system.cpu.load[percpu,avg1].abschange()}=1

如果(每核)CPU 1分钟负载浮动大于1

{web:system.cpu.load[percpu,avg1].abschange()}>1

如果(每核)CPU 1分钟负载浮动小于1

{web:system.cpu.load[percpu,avg1].abschange()}<1

如果(每核)CPU 1分钟负载浮动不等于1

{web:system.cpu.load[percpu,avg1].abschange()}<>1

abschange支持类型

它支持类型包括:float, int, str, text, log,它不仅仅支持数值,还支持字符串。如果取值为字符串,那么字符串相同值为0,不同则为1

如下为主机名发生变更的触发器表达式

{web:system.hostname.abschange()}=1

Zabbix触发器函数(取前后差值)的更多相关文章

  1. Zabbix 触发器函数方法整理

    函数介绍 abschange 参数:忽略 支持类型:float,int,str,text,log 作用:返回最近获得的值与之前获得值差的绝对值,对于字符串类型:0表示相等,1表示不同 avg 参数:秒 ...

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

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

  3. zabbix触发器函数 count

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

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

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

  5. zabbix触发器依赖

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

  6. luogu- P1373 小a和uim之大逃离 DP 四维,其中一维记录差值

    P1373 小a和uim之大逃离: https://www.luogu.org/problemnew/show/P1373 题意: 在一个矩阵中,小A和小B轮流取数,小A可以从任意点先取,小B后取,最 ...

  7. 在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值)

    原文:在论坛中出现的比较难的sql问题:32(row_number函数+子查询 sql循环取差值) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. sql循环取差值,该怎 ...

  8. Zabbix触发器支持的函数说明

    原文出处:https://www.zabbix.com/documentation/2.0/manual/appendix/triggers/functions 译者: pengyao abschan ...

  9. php 算法之切割数组,不用array_chunk(),算法之二,取数组的差值,不用array_diff()

    用php写算法切割数组,不用array_chunk();算法例如以下所看到的. <?php //$array 数组 //$size 每一个数组的个数 //每一个数组元素是否默认键值 functi ...

随机推荐

  1. 内存可见性,指令重排序,JIT。。。。。。从一个知乎问题谈起

    在知乎上看到一个问题<java中volatile关键字的疑惑?>,引起了我的兴趣 问题是这样的: package com.cc.test.volatileTest; public clas ...

  2. Codeforces 811 A. Vladik and Courtesy

    A. Vladik and Courtesy   time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  3. 认识createDocumentFragment

    今天在看vue源码解析时候发现一个api没有见过,一查是原生的,赶紧补漏. DocumentFragments 是DOM节点.它们不是主DOM树的一部分.通常的用例是创建文档片段,将元素附加到文档片段 ...

  4. Visual Studio 2017 编译Clang

    到http://releases.llvm.org/download.html下载LLVM和clang源码 比如: http://releases.llvm.org/6.0.0/llvm-6.0.0. ...

  5. wildfly8.1部署注意事项

    wildfly8.1部署注意事项 jboss  最近新项目上线,本人部署过程中总结了以下几点比较关键的地方,看是否对大家有用处     服务器改成支持外网访问 在standalone.xml文件中找到 ...

  6. [LOJ6437]PKUSC

    旋转多边形是没有前途的,我们考虑旋转敌人,那么答案就是所有人的可行区间长度之和除以$2\pi$ 首先对每个敌人找到那些旋转后会落到多边形上的角度,实际上就是圆和一些线段求交,解方程即可,注意判一下落在 ...

  7. [CodeChef-DGTCNT]Chef and Digits

    题目大意: 若一个十进制数$x$(不含前导零)满足数码$i$恰好出现$t_i$次,则这个数是坏的,否则是好的.求区间$[L,R](1\le L,R\le10^{18})$中有多少好数. 思路: 显然可 ...

  8. 使用urlretrieve下载图片

    示例代码: from urllib.request import urlretrieve from urllib.request import urlopen from bs4 import Beau ...

  9. IOS,苹果内购和添加广告

    内购——应用内购买 通过苹果应用程序商店有三种主要赚钱的方式: 直接收费(与国内大部分用户的消费习惯相悖) 广告(降低用户体验 应用程序名称带Lite可以添加广告) O2O -> Online推 ...

  10. 网络采集软件核心技术剖析系列(3)---如何使用C#语言下载博文中的全部图片到本地并可以离线浏览

    一 本系列随笔概览及产生的背景 本系列开篇受到大家的热烈欢迎,这对博主是莫大的鼓励,此为本系列第三篇,希望大家继续支持,为我继续写作提供动力. 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受 ...