zabbix自定義觸發器

zabbix中監控項僅負責收集數據,而一般收集數據的目的還包括在某指標對應的數據超出合理範圍時給相關人員發送告警信息,"觸發器"正式 用於爲監控項所收集的數據定義閾值,每個觸發器僅能管理至一個監控項,可是能夠爲一個監控項同時使用多個觸發器;意思就是,爲一個監控項定義多個具備不一樣閾值的觸發器,能夠實現不一樣級別的報警。一個觸發器由一個表達式構成,它定義了監控項所採集的數據的一個閾值,一旦某次採集的數據超出了觸發器定義的閾值,觸發器狀態將會轉爲"problem";而當採起的數據再次迴歸至合理的範圍內時,其狀態將從新返回到"OK"。 html

一、觸發器表達式 正則表達式

觸發器表達式的格式爲 函數

{<server>:<key>.<function>(<parameter>)}<operator><constant> 測試

某主機上某個key使用某個函數(參數)所得的值 和 設定的值比較 spa

server:主機名稱 3d

key:主機上相應監控項的key 日誌

function:評估採集到的數據是否在合理範圍內時所使用的函數,其評估過程能夠根據採起的數據、當前時間及其它因素進行 regexp

二、觸發器表達式支持的函數 server

avg     求平均值 htm

count     指定時間內或次數內數值統計

change     指定時間內或次數內倒數第2次於倒數第1次的差值,對於字符串,0沒有變化,1表示有變化;

date     當前日期

dayofweek 本週第幾天 dayofmonth 本月第幾天

delta     指定時間內或次數內最大值與最小值的差

diff     指定時間內或次數內倒數第2次於倒數第1次的值,有沒有不一樣;經常使用於監控文件

regexp 檢查最後一次採樣的數據是否可以被指定的模式所匹配:1表示匹配,0表示不匹配

iregexp     不區分大小的正則表達式

last     最近採樣的數據

max、min、nodata沒有數據

now 返回時間戳

prev 倒數第二個採樣值

str     從最後一次的採樣中查找此處指定的字符串;0表示找到,1表示沒找到

strlen     字符串長度比較

sum 求和

三、觸發器實例

觸發器能夠建立在模板或者某臺主機上

例一:自定義觸發器監控登陸用戶數,zabbix的Template OS Linux模板中有Number of logged in users監控項,即監控當前登陸的用戶數,能夠自定義觸發器來監控登陸個數,當觸發某個閾值如3的時候就發送報警

點擊:配置——>主機,選擇主機,點擊——>觸發器——>建立觸發器

觸發器名稱

建立觸發器表達式

對觸發器進行觸發報警測試

查看動做日誌

例二:監控平均一分鐘內的cpu負載,操做步驟同上

觸發器表達式爲{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5

最新的CPU負載值若是大於5,那麼表達式會返回true,這樣一來觸發器狀態就改變爲"problem"了

例三:監控/etc/passwd文件是否被修改(系統自帶監控項)

觸發器表達式爲{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0

最新的checksum與上一次獲取到的checksum不一樣,表達式將會返回true. 咱們可使用一樣的方法監控系統重要的配置文件,例如/etc/passwd,/etc/inetd.conf等等

例四:監控主機網卡流量

觸發器表達式爲{www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K

當主機網卡eth0最後5分鐘內接收到的流量超過100KB那麼觸發器表達式將會返回true

例五:監控主機是否可達

觸發器表達式爲{zabbix.zabbix.com:icmpping.count(30m,0)}>5

表示最近30分鐘zabbix.zabbix.com這個主機超過5次不可到達

 

部份內容參考來源:http://www.javashuo.com/article/p-wfejqnvy-ba.html

相關文章
相關標籤/搜索