Zabbix Trigger Fountcion
Zabbix的Trigger Founction作爲判斷標準還是挺重要的,以下是照着Zabbix 2.4官方文檔,對着翻譯半翻譯半猜的。反正只是作爲個人的一個查詢而已。
注:其中還缺少一個band函數,看原文應該是“按位與”運算,個人感覺用的不多就沒管。
abschange:
描述:
返回最近獲取的值與之前的值的差值的絕對值。對於字符串類型,0表示值相等,1表示值不同
支持的數值類型:
float,init,str,text,log
例如:1/5=4 後值減前值
avg(sec|#num,<time_shift>)
描述:
一段範圍內取平均值
參數:
sec或#num:返回指定時間間隔的平均值。時間間隔可以通過第一個參數通過秒數或收集的值的數目(需要前面加上#,比如#5表示最近5次的值)
time_shift:類似偏移量,查詢之前的時間,單位爲秒。
支持值類型:float,int
例:avg(#5) 最近5次取值的平均值
avg(3600) 一個小時的平均值
avg(3600,86400) 一天前的一個小時內的平均值
change:
描述:
後值減前值得出的差,有+|-號
支持值類型:
float,int,str,text,log,對於字符串類型,0表示值相等,1表示值不同
例: 1/5=+4
3/1=-2
count(set|#num,<pattern>,<operator>,<time_shift>)
描述:
返回指定時間間隔內的數值統計
參數:
set | #num:同avg
pattern:匹配,對整型item使用精確匹配,對float item支持最大精度爲0.0000001
operators:
eq,ne,gt,ge,lt,le,like(內容匹配),band(按位做與計算)
整型item支持所有操作,默認eq
fload item不支持band操作,默認eq
text 和 log item僅支持like,eq,ne,默認like
time_shift:同avg
支持值類型:
fload,int,str,text,log
例子:count(600) 最近10分鐘的值的個數
count(600,12) 最近10分鐘,值等於12的個數
count(#10,12,“gt”) 最近10個值中,值大於12的個數
count(600,12,"gt",86400) 24小時之前的前10分鐘數據中,值大於12的個數
count(600,,,86400) 24小時之前的前10分鐘數據的值的個數
date:
描述:
返回以YYYYMMDD格式的擋牆日期
支持所有值類型
例:20150731
dayofmonth:
描述:
返回當前是本月第幾天,取值爲1-31
支持所有值類型
dayofweek:
描述:
返回當前是本週第幾天,取值爲1-7
支持所有值類型
delta(sec|#num,<time_shift>)
描述:
返回指定時間間隔內的最大值與最小值的差值(max()-min())
diff:
描述:
檢查最近一次的值和之前的值是否有不同
支持值類型:
float,int,str,text,log
返回值:
1:最近的值和之前的值不同,返回1
0:其他情況,則返回0
fuzzytime(sec)
描述:
判斷item值與Zabbix server 的時間戳差值是否超過限定
支持值類型:
float,int
返回參數:
0:item與zabbix server的時間相差T秒,則返回0
1:其他則返回1
注:通常與system.localtime來檢查本地事件與服務器時間是否同步。也可以用vfs.file.time[/path/file,modify]查看文件是否長時間未更新。
regexp(pattern,<sec|#num>)
描述:
檢查最近的值是否匹配正則表達式
參數:
pattern:正則表達式爲POSIX擴展樣式
sec|#num:可見avg
支持值類型:
str,log,text
返回值:匹配時區分大小寫
1 表示找到匹配項
0 表示其他
iregexp(pattern,<sec|#num>)
描述:
檢查最近的值是否匹配正則表達式
參數:不區分字符大小寫
可查看regexp
支持值類型:
str,log,text
last(sec|#num,<time_shift>):
描述:
最近的值
支持值類型:
float,int,str,text,log
例子:
last() 等價於 last(#1)
last(#3) 表示最近的第三個值
last(0,86400) 返回一天前的最近的值
注:last的num與其他的不同,#3表示的是最近第三個值而不是最近的三個值。且如果同一時間有多個值,zabbix將無法保證其準確性。
logeventid(pattern):
描述:
檢查最近的日誌條目的Event ID是否匹配正則表達式。
參數:
pattern:正則表達式,POSIX擴展樣式。
支持值類型:
log
返回值:
0:表示不匹配
1:表示匹配
logseverity:
描述:
最近日誌的日誌告警級別。
支持值類型:
log
返回值:
0:默認警告級別
N:告警級別(爲整型,常用於Windows event logs,1 信息,2 警告,4 錯誤, 7 審覈失敗,8 審覈成功,9 議論,10 冗長)。Zabbix日誌等級來源於Windows event log的 Information列
logsource(pattern)
描述:
判斷最近的日誌條目與參數的日誌來源是否一致
支持值類型:
log
返回值:通常用於Windows event logs
0:不匹配返回0
1:匹配返回1
例如: logsource("VMWare Server")
max(sec|#num,<time_shift>)
描述:
返回指定時間間隔內的最大值
支持值類型:
float,int
min(sec|#num,<time_shift>)
描述:
返回指定時間間隔內的最小值
支持值類型:
float,int
nodata(sec)
描述:
檢查是否無數據返回
參數:
sec:以秒爲單位的時間間隔
注:但最小不能少於30s
支持值類型:
any
返回值:
1:如果一定範圍內無數據,則返回1
0:其他則爲0
注:第一個週期內,該函數可能會顯示一個錯誤
now:
描述:
返回從1970年1月1日至今過去的秒數
prev:
描述:
返回之前的值
支持值類型:
float,int,str,text,log
類似於last(#2)
str(pattern,<sec|#num>)
描述:
從最近的值進行字符串匹配
支持值類型:
str,text,log
返回值: 該函數區分字符大小寫
1:匹配到,返回1
0:其他返回0
strlen(sec|#num,<time_shift>)
描述:
計算最近的值的字符串長度(非字節)
支持值類型:
str,text,log
參數:
sec | #num:此處的 #num 和last類似,取最近的第num個值進行計算長度。
例:strlen(0)等價與strlen(#1) 表示最後一個值
strlen(#3)表示最近的第三個值
sum(sec|#num,<time_shift>)
描述:
計算指定時間間隔的值的和
支持值類型:
fload,int
time:
描述:
以HHMMSS爲格式返回當前時間,例如123055
注:(1) 所有的返回值只能是數值型,不支持字符串返回值
(2) 一些函數不能用於非數字參數
(3) 字符串參數應該用雙引號。否則,他們可能會報錯