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

2023年 7月 15日 100.8k 0

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**)**}<>1runs suboptimal VM type{JMX Templates:jmx["java.lang:type=Compilation",Name].str(Client)}=1uses suboptimal JIT compiler

strlen 

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

示例如下

{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

sum

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

timeleft

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

如果最近一小时的值小于下一个一小时的值或者有其他问题则触发

相关文章

对接alertmanager创建钉钉卡片(1)
手把手教你搭建OpenFalcon监控系统
无需任何魔法即可使用 Ansible 的神奇变量“hostvars”
openobseve HA本地单集群模式
基于k8s上loggie/vector/openobserve日志收集
openobseve单节点和查询语法

发布评论