Zabbix触发器str/strlen/timeleft使用范例

I. str

(pattern,<sec|#num>)
发现在最新(最近)的值的字符串。
pattern:所需的字符串
<sec|#num> 评估期间以秒为单位或以最新收集的值(按井号开头)。在这种情况下,一个以上的值可被处理。支持: str, text, log,当返回1时说明找到,0为其他情况

示例:

{www.linuxea.com:agent.version.str("beta8")}=1
如果当前zabbix agent版本包含beta8(假设当前版本为1.0beta8),这个表达式会返回true.

{www.zabbix.com:jmx["Catalina:type=ProtocolHandler,port=8080",comprssin].str(off)}=1
表示设备www.zabbix.com从key中获取到了字符串off

{JMX Templates:jmx["java.lang:type=Runtime",VmName].str(Server**)**}<>1
runs suboptimal VM type
{JMX Templates:jmx["java.lang:type=Compilation",Name].str(Client)}=1
uses suboptimal JIT compiler

II. strlen

以字符(而不是字节)的最新(最近)的值的长度。支持str, text, log
 (sec|#num,<time_shift>):秒(忽略)或#NUM - 第N个最近的值
strlen和last类似

示例如下

{www.linuxea.com.htpNUM.strlen(#3)}=2
如果拿到的第三个新值长度=2则触发
{www.linuxea.com.htpNUM.strlen()}=2
拿到的值等于2则触发
{www.linuxea.com.htpNUM.strlen(,1d)}=2
拿到的当前值和一天前当前值如果等于2则触发
也可以写成{www.linuxea.com.htpNUM.strlen(#1,1d)}=2

III. sum

(sec|#num,<time_shift>)秒或者num,支持str,log,text
返回指定时间间隔中收集到的值的总和。时间间隔作为第一个参数,支持秒或收集值的数目(以#开始)。本函数支持time_shift作为第二个参数。

IV. timeleft

在特定时间来达到指定的阈值。
 (sec|#num,<time_shift>,threshold,<fit>
sec or #num:秒或#NUM - 评估期间以秒为单位或指定的收集最新值(由哈希标记开头),其他可选,支持浮动,INT
timeleft的意思是达到阈值需要多久时间
timeleft的意思是多久时间可以达到阈值

参考:https://www.zabbix.com/documentation/3.4/manual/config/triggers/prediction

⇒ timeleft(#10,,0) → 最近是个值如果是0
⇒ timeleft(1h,,100) → 最近一个小时的数据达到100
⇒ timeleft(1h,1d,0) → 最近一天前一个小时的值是0

{host:vfs.fs.size[/,free].timeleft(1h,,0)}<1h
如果最近一小时的值小于下一个一小时的值则触发

{host:vfs.fs.size[/,free].timeleft(1h,,0)}<1h and {host:vfs.fs.size[/,free].timeleft(1h,,0)}<>-1
如果最近一小时的值小于下一个一小时的值或者有其他问题则触发

时间: 2024-09-16 09:56:29

Zabbix触发器str/strlen/timeleft使用范例的相关文章

Zabbix触发器abschange使用范例

abschange 最后和最前之间的差值 支持类型: float, int, str, text, log 值/最后的值= abschange 对于字符串返回:0 - 值相等 1 - 值不同     {www.111cn.net:nginx.http.abschange(5m)}<10 表示www.111cn.net中,key值为nginx.http, 5分钟内前后之间的差值的绝对值浮动如果小于10则触发 而在web页面中 {www.111cn.net:nginx.http.abschange(

Zabbix触发器avg使用范例

所定义的评价期间内的项的平均值. 格式:avg(sec|#num,<time_shift>) sec or #num :评估期间以秒为单位或以最新收集的值(按井号开头) 支持的值类型:浮动,INT 示例说明: avg(#5) :5个最新的平均值 avg(1h) :一小时之内的平均值 avg(1h,1d) :一天前一小时之内的平均值 I. 范例: 1,小时平均值 {www.111cn.net:nginx.http.avg(1h)}=30000 nginx http的key一小时的平均值如果=30

zabbix 触发器使用教程详解

一.创建触发器 触发器可以是和模板关联的,也可以是和主机关联的.即在创建模板时,就设定好相应的触发器,和模板相关联的主机同时也关联了触发器,一旦条件满足就执行相应的操作(如告警),我们可以认为他是全局性的:和主机关联的触发器是属于局限性的触发器,该触发只针对特别设定的主机有效,对其他主机无效. 针对全局性触发器和局限性触发器的不同,所以其可以在configuration 下的hosts 里配置trigger ,也可以在 configuration 下的tmplates 里配置 trigger.无

Zabbix触发器change/count/delta用法详解

I. 1 .change 最后与先前值之间的差值的量(change用于获取item返回值与上一次值得差值) 支持的类型有:float, int, str, text, log 对于字符串返回: 0 - 值相等 1 - 值不同 II. 1 .1例子 {www.111cn.net:system.uptime.change(0)}<1 key : www.111cn.net:system.uptime change(0):忽略参数一般输入0,<表示,最近的到的值与上一个值的差值小于1 如: {www

C++不使用变量求字符串长度strlen函数的实现方法

  本文实例讲述了C++不使用变量求字符串长度strlen函数的实现方法.分享给大家供大家参考.具体实现方法如下: 1.strlen的源码实现: ? 1 2 3 4 5 6 7 size_t strlen(const char *str) //strlen不做内存非法判断,如果是NULL,会core. { const char *eos=str; while(*eos++); return (eos-str-1); } 2.常见面试题会要求不使用额外变量,实现strlen函数: 实现一: ? 1

strlen-size_t write(const char *str)

问题描述 size_t write(const char *str) size_t write(const char *str) { return write((const uint8_t *)str, strlen(str)); } 这句代码 中return write((const uint8_t *)str, strlen(str));的含义怎么理解? 解决方案 含义是执行这句:write((const uint8_t *)str, strlen(str));,并返回它的执行结果 解决方案

C++不使用变量求字符串长度strlen函数的实现方法_C 语言

本文实例讲述了C++不使用变量求字符串长度strlen函数的实现方法.分享给大家供大家参考.具体实现方法如下: 1.strlen的源码实现: size_t strlen(const char *str) //strlen不做内存非法判断,如果是NULL,会core. { const char *eos=str; while(*eos++); return (eos-str-1); } 2.常见面试题会要求不使用额外变量,实现strlen函数: 实现一: int strlen(const char

sql 触发器操作详解

触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delete这些操作的时候,系统会自动调用执行该表上对应的触发器.SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create.alter.drop语句.   常见的触发器有三种:分别应用于Inse

C++笔试题目大全(笔试宝典)(不断完善中)

1.new . delete . malloc . free 关系 delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数. malloc 与 free 是 C++/C 语言的标准库函数, new/delete 是 C++ 的运算符.它们都可用于申请动态内存和释放内存.对于非内部数据类型的对象而言,光用 maloc/free 无法满足动态对象的要求.对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数.由于 malloc/free