zabbix正则表达式应用(86)

  • A+
所属分类:zabbix

概述

在前面的《zabbix low-level discovery》一文中有filter一项,用于从结果中筛选出你想要的结果,比如我们在filter中填入^ext|^reiserfs则表示{#FSTYPE}要符合ext与reiserfs才能加入到item中。这个需求比较简单,假如我们过滤方法更严格怎么办?或者说多个low-level的filter都有用到同一个正则表达式,并且希望修改一处,所有的filter都跟着修改,请使用zabbix正则表达式。

配置

点击Administration >>General>>右侧下拉表选择“ Regular expressions”>>New regular expression.

所有匹配完全匹配btrfs|ext2|ext3|ext4|jfs|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|ntfs|fat32|zfs文件类型返回true,正则表达式为^(btrfs|ext2|ext3|ext4|jfs|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|ntfs|fat32|zfs)$

low-level

说明:如果符合如上表达式,那么返回TRUE,否则返回FLASE,可以Add多个表达式,所有的表达式之间是逻辑与的关系,必须所有的表达式都返回TRUE,最终的结果才是TRUE。

正则表达式参数说明

Expression:正则表达式名称

Expression type:正则表达式类型

1. Character string included - 字符串包含,例如表达是处写abc,你返回的内容是abcd,那么就算匹配了,将会返回TRUE

2. Any character string included - 任意字符串包含在内(以逗号',',点号'.',斜杠'/'分隔),这边使用上有点问题

3. Result is TRUE - 符合正则表达式返回TRUE、否则返回FALSE

4. Result is FALSE - 符合正则表达式返回FALSE、否则返回TRUE

Case sensitive:是否区分大小写

 

点击Test标签测试正则表达式是否符合预期,例如输入ext2点击test,可以发现最后结果是TRUE,如下图

low-level

输入不符合预期的值d:,我们可以发现最后结果是FLASE,如下图

low-level

常用示例

1. 排除lo网卡与Software Loopback interface开头的内容

low-level

不符合表达式的eth1:1返回TRUE

low-level

符合表达式的 Software Loopback Interface 123返回FLASE

low-level

如何引用正则表达式

例如low-level filter需要引用表达式,在表达式名称前加@即可,例如@你的正则表达式名称、@File systems for discovery

low-level

正则表达式名称规范

名称可以包含逗号与空格,例如@network,  ttlsa,个人不推荐你使用逗号,让人觉得很奇怪,并且使用逗号的时候,你需要用双引号将整个名称括起来,例如“@network,  ttlsa”。

所有zabbix discovery教程

1. zabbix网络发现介绍Network Discovery(82)

2. zabbix网络发现规则配置实战/详解(83)

3. zabbix客户端自动注册(84)

4. zabbix low-level discover zabbix批量部署必备(85)

5. zabbix正则表达式应用(86)

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • 网络设备监控问题 1

      zabbix3 的discovery怎么调用正则表达式啊, 貌似没有那个选项了。。。 求助