zabbix自定義觸發器


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

1、觸發器表達式

觸發器表達式的格式為

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

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

server:主機名稱

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

function:評估采集到的數據是否在合理范圍內時所使用的函數,其評估過程可以根據采取的數據、當前時間及其它因素進行

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

avg     求平均值

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 求和

3、觸發器實例

觸發器可以創建在模板或者某台主機上

例一:自定義觸發器監控登錄用戶數,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次不可到達

 

部分內容參考來源:https://www.cnblogs.com/zhaijunming5/p/6889336.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM