zabbix觸發器函數的使用

 zabbix觸發器經常使用函數以及用例:正則表達式

abschange 參數:忽略
支持類型:float,int,str,text,log
做用:返回最近得到的值與以前得到值差的絕對值,對於字符串類型:0表示相等,1表示不一樣
avg 參數:秒或#num
支持類型:float,int
做用:返回一段時間的平均值
舉例:
avg(5):最後5秒的平均值
avg(#5):表示最近5次獲得值的平均值
avg(3600,86400):表示一天前的一個小時的平均值
若是僅有一個參數,表示指定時間的平均值,從如今開始算起,若是有第二個參數,表示漂移,從第二個參數前開始算時間,
#n表示最近n次的值
示例:
觸發器名稱:Comparing average load today with average load of the same time yesterday (使用 time_shift 時間偏移量參數).
This expression will fire if the average load of the last hour tops the average load of the same hour yesterday more than two times.

max
參數:秒或#num 支持值類型:float,int 描述:返回指定時間間隔的最大值.時間間隔做爲第一個參數能夠是秒或收集值的數目(前綴爲#).從Zabbix1.8.2開始,函數支持第二個可選參數time_shift,能夠查看avg()函數獲取它的使用方法. 示例: 觸發器名稱:Free disk space is too low Problem: 最近5分鐘內剩餘磁盤空間小於10GB ({TRIGGER.VALUE}=0&{server:vfs.fs.size[/,free].max(5m)}<10G)
min 參數:秒或#num 支持值類型:float,int 描述:返回指定時間間隔的最小值.時間間隔做爲第一個參數能夠是秒或收集值的數目(前綴爲#).從Zabbix1.8.2開始,函數支持第二個可選參數time_shift,能夠查看avg()函數獲取它的使用方法. 示例: 觸發器名稱:Free disk space is too low Problem:最近10分鐘內磁盤空間大於40GB ({TRIGGER.VALUE}=1&{server:vfs.fs.size[/,free].min(10m)}<40G)
nodata 參數:秒 支持值類型:any 描述:當返回值爲1表示指定的間隔(間隔不該小於30秒)沒有接收到數據,0表示其餘. 示例: 觸發器名稱:No heartbeats within last 3 minutes 使用函數 nodata():

change 參數:忽略 支持類型:float,int,str,text,log 做用:返回最近得到值與以前得到值的差值,對於字符串0表示相等,1表示不一樣 舉例: change(0)>n:忽略參數通常輸入0,表示最近獲得的值與上一個值的差值大於n
count
參數:秒或#num 支持類型:float,int,str,text,log 做用:返回指定時間間隔內數值的統計, 舉例: count(600)最近10分鐘獲得值的個數 count(600,12)最近10分鐘獲得值的個數等於12 count(600,12,"gt")最近10分鐘獲得值的個數大於12 count(#10,12,"gt")最近10個值中,值大於12的個數 count(600,12,"gt",86400)24小時以前的10分鐘內值大於12的個數 count(600,6/7,"band")-thenumberofvaluesforlast10minuteshaving'110'(inbinary)inthe3leastsignificantbits. count(600,,,86400)24小時以前的10分鐘數據值的個數 第一個參數:指定時間段 第二個參數:樣本數據 第三個參數:操做參數 第四個參數:漂移參數 #支持的操做類型 eq: 相等 ne: 不相等 gt: 大於 ge: 大於等於 lt: 小於 le: 小於等於 like: 內容匹配 date 參數:忽略 支持類型:any 做用:返回當前的時間,格式YYYYMMDD

dayofmonth 返回當前是本月的第幾天 dayofweek 返回當前是本週的第幾天 delta 參數:秒或#num 支持類型:float,int 做用:返回時間間隔內的最大值與最小值的差值 diff 參數:忽略 支持值類型:float,int,str,text,log 做用:返回值爲1表示最近的值與以前的值不一樣,0爲其餘狀況 示例: 觸發器名稱:/etc/passwd has been changed 使用函數 diff(): {www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0
fuzzytime 參數:秒 支持值類型:float,int 做用:返回值爲1表示監控項值的時間戳與ZabbixServer的時間多N秒,0爲其餘.常使用system.localtime來檢查本地時間是否與Zabbixserver時間相同.
示例: 觸發器名稱:Check if client local time is in sync with Zabbix server time 使用函數 fuzzytime(): 主機MySQL_DB當前服務器時間若是與zabbix server之間的時間相差10秒以上,表達式返回true,觸發器狀態改變爲「problem」
last
參數:秒或#num 支持值類型:float,int,str,text,log 做用:最近的值,若是爲秒,則忽略,#num表示最近第N個值,請注意當前的#num和其餘一些函數的#num的意思是不一樣的 例子: last(0)等價於last(#1)last(#3)表示最近**第**3個值(並非最近的三個值) 本函數也支持第二個參數**time_shift**,例如 last(0,86400)返回一天前的最近的值 若是在history中同一秒中有多個值存在,Zabbix不保證值的精確順序 #num從Zabbix1.6.2起開始支持,timeshift從1.8.2其開始支持,能夠查詢avg()函數獲取它的使用方法 logeventid 參數:string 支持值類型:log 描述:檢查最近的日誌條目的EventID是否匹配正則表達式.參數爲正則表達式,POSIX擴展樣式.當返回值爲0時表示不匹配,1表示匹配。該函數從Zabbix1.8.5起開始支持. logseverity 參數:忽略 支持值類型:log 描述:返回最近日誌條目的日誌等級(logseverity).當返回值爲0時表示默認等級,N爲具體對應等級(整數,經常使用於Windowseventlogs).Zabbix日誌等級來源於Windowseventlog的Information列. logsource 參數:string 支持值類型:log 描述:檢查最近的日誌條目是否匹配參數的日誌來源.當返回值爲0時表示不匹配,1表示匹配。通場用於Windowseventlogs監控.例如logsource["VMWareServer"] now 參數:忽略 支持值類型:any 描述:返回距離Epoch(1970年1月1日00:00:00UTC)時間的秒數 prev 參數:忽略 支持值類型:float,int,str,text,log 描述:返回以前的值,相似於last(#2) regexp 參數:第一個參數爲string,第二個參數爲秒或#num 支持值類型:str,log,text 描述:檢查最近的值是否匹配正則表達式,參數的正則表達式爲POSIX擴展樣式,第二個參數爲秒數或收集值的數目,將會處理多個值.本函數區分大小寫。當返回值爲1時表示找到,0爲其餘. str 參數:第一個參數爲string,第二個參數爲秒或#num 支持值類型:str,log,text 描述:查找最近值中的字符串。第一個參數指定查找的字符串,大小寫敏感。第二個可選的參數指定秒數或收集值的數目,將會處理多個值。當返回值爲1時表示找到,0爲其餘. 示例: 觸發器名稱:Zabbix agent needs to be upgraded 使用函數str():
若是當前zabbix agent版本包含beta8(假設當前版本爲1.0beta8),這個表達式會返回true. strlen 參數:秒或#num 支持值類型:str,log,text 描述:指定最近值的字符串長度(並不是字節),參數值相似於last函數.例如strlen(0)等價於strlen(#1),strlen(#3)表示最近的第三個值,strlen(0,86400)表示一天前的最近的值.該函數從Zabbix1.8.4起開始支持 sum 參數:秒或#num 支持值類型:float,int 描述:返回指定時間間隔中收集到的值的總和.時間間隔做爲第一個參數支持秒或收集值的數目(以#開始).從Zabbix1.8.2開始,本函數支持time_shift做爲第二個參數。能夠查看avg函數獲取它的用法 time 參數:忽略 支持值類型:any 描述:返回當前時間,格式爲HHMMSS,例如123055{server:system.cpu.load.avg(1h)}/{server:system.cpu.load.avg(1h,1d)}>2
{zabbix.zabbix.com:tick.nodata(3m)}=1 {MySQL_DB:system.localtime.fuzzytime(10)}=0
{zabbix.zabbix.com:agent.version.str("beta8")}=1
相關文章
相關標籤/搜索