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)$

說明:如果符合如上表達式,那麼返回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,如下圖

輸入不符合預期的值d:,我們可以發現最後結果是FLASE,如下圖

常用示例

1. 排除lo網卡與Software Loopback interface開頭的內容

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

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

如何引用正則表達式

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

正則表達式名稱規範

名稱可以包含逗號與空格,例如@network,  ttlsa,個人不推薦你使用逗號,讓人覺得很奇怪,並且使用逗號的時候,你需要用雙引號將整個名稱括起來,例如“@network,  ttlsa”。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章