(64)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,如下圖
如何引用正則表達式
例如low-level filter需要引用表達式,在表達式名稱前加@即可,例如@你的正則表達式名稱、@File systems for discovery
正則表達式名稱規範
名稱可以包含逗號與空格,例如@network, ttlsa,不推薦你使用逗號,讓人覺得很奇怪,並且使用逗號的時候,你需要用雙引號將整個名稱括起來,例如“@network, ttlsa”。
(64)zabbix正則表達式應用