在使用zabbix的時候可能會有遇到這麼一個場景:通過配置自動發現獲取到的值裏面往往存在着部分自己所不需要的取值,可能你會覺得直接不管它就好,小場景下這樣的做法確實沒什麼問題,但是如果在大場景下呢?可能一臺機器就能自動發現出成百上千的無用監控項,同時這種設備還不止一臺的話,而是多臺的情況下,大量的無用監控項無疑是對資源極大的浪費。其實我們可用通過自動發現的過濾器配合着本地的正則表達式去進行一個過濾來解決這一問題。
一、 現在的這臺機器上的文件系統應用集裏面的監控項被配置自動發現規則發現出來,圖一。
圖1
而我現在想把/boot有關這塊的內容把它去掉。
二、 我先去到相應模板的自動發現規則那裏找到對應的鍵值。
圖2
然後到命令行界面進行相應的查詢,可以看到返回jason格式數據中,/boot對應的標籤宏是{#FSNAME}。
圖3
三、 在過濾器新增正則表達式。
圖4
表示:把發現到的文件系統中的/boot過濾掉。
四、 回到該主機上查看對應的監控項信息。
圖5
可以看到該相應的監控項其實已經不在使用,且在我們自動發現規則設置的的資源保存週期過後將會被自動刪除。
五、 另外在上面圖三中還可以看到針對該自動發現的類型做了一個過濾,它這種寫法其實是引用了已經配置好的正則表達式。而該表達式就在
圖6
寫法一樣是^(……)$
圖7
設置該部分內容“結果爲真”,結合圖4對應部分的“匹配”設置可以理解爲:文件類型符合以下類型的內容才選用。
另外需要注意的是對於該部分的內容(引用正則的做法),如果導出模板到另外一個環境中可能會因爲新環境不存在該部分正則表達式,過濾器無法進行引用,而導致部分監控項無法使用或者模板出錯等問題的出現。
技術交流歡迎加入Q羣:177428068