指引网

当前位置: 主页 > 操作系统 > Linux >

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

来源:网络 作者:佚名 点击: 时间:2017-05-13 00:36
[摘要]  下面我们来看看Zabbix触发器str/strlen/timeleft使用范例,对于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
如果最近一小时的值小于下一个一小时的值或者有其他问题则触发

------分隔线----------------------------
栏目列表
推荐内容