1. 程式人生 > >zabbix觸發器詳解

zabbix觸發器詳解

查找 default 支持 長度 存在 字節 sin 誤差 相等

Trigger函數

1、abschange

參數:直接忽略後邊的參數

支持值類型:float、int、str、text、log

描述:返回最近獲取到的值與之前值的差值的絕對值。對於字符串類型,0表示值相等,1表示值不同

例如:{www.zabbix.com:vfs.fs.zise[/,free].abschange(10m)}<10,表示在www.zabbix.com設備中,Key值vfs.fs.size[/,free]最近一次獲取到的值和在前10分鐘的差值為10,其結果可能是最近一次的值比之前大,也有可能比之前的值小,即從-10到0,再從0到10之間的一個範圍,可以叫做抖動值或者誤差範圍。

2、avg

參數:秒或#num

支持值類型:float和int

描述:返回指定時間間隔的平均值。時間間隔可以通過第一個參數秒數設置或收集值的數目(需要在前邊加上#,比如#5代表最近5次的值)。如果有第二個,則表示時間漂移(time shift),例如,查詢一天之前的前一個小時的平均值,對應的函數是avg(1h,1d)

例如:{www.zabbix.com:vfs.fs.size[/,free].avg(#5,10m)}<50G,表示在Server設備中,Key值vfs.fs.size[/,free]最近10分鐘內,最近的5次取值的平均值小於50G。請註意,10分鐘內如果取值更新間隔時間為1分鐘,則#5代表6、7、8、9、10分鐘的數值,如果取值時間更新間隔為2分鐘,則#5代表2、4、6、8、10分鐘的數值

3、change

參數:直接忽略掉後邊的參數

支持值類型:float、int、str、text、log

描述:返回最近獲取到的值與之前值的差值(註意、與abschange函數不同,不是絕對值)。對於字符串類型,0表示值相等,1表示值不同

例如:{www.zabbix.com:vfs.fs.size[/,free].change(5m)}<0,代表最近一次的值比前5分鐘獲取的值要小

4、count

參數:秒或#num

支持值類型:float、int、str、text、log

描述:返回指定時間間隔內的數值統計。時間間隔可以通過第一個參數設置為時間或收集值的數目(需要在值前邊加上#)。本函數可以支持第二個參數作為樣本(pattern)數據,第三個參數作為操作(operator)參數,第四個參數作為時間漂移(time shift)參數。對於樣本,監控項的值為整數(iteger)時使用精確匹配,監控項的值為浮點型 (float)時允許偏差0.0000001。

支持的操作(operator)類型如下

eq:相等 ne:不相等 gt:大於 lt:小於 ge:大於或等於 le:小於或等於 like:內容匹配

對於整數和浮點型的監控項目,支持eq(default),ne、gt、ge、lt、le

對於string、text、log監控項,支持like(default)、eq、ne

示例:

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,,,86400):24小時前的前10分鐘值的個數

5、date

參數:直接忽略後邊的參數

支持值類型:所有any

描述:返回當前日期,(格式為YYYYMMDD),例如,20150101

6、dayofmonth

參數:直接忽略後邊的參數

支持值類型:所有any

描述:返回當前是本月第幾天(數值範圍為1-31)

7、dayofweek

參數:直接忽略後邊的參數

支持值類型:所有any

描述:返回當前的本周的第幾天(數值範圍為1-7)

8、dalta

參數:秒或#num

支持值類型:float或int

描述:返回指定時間間隔內的最大值與最小值的差值(max()-min())。時間間隔作為第一個參數,可以是秒或者收集值的數目

例如:{www.zabbix.com:net.if.in[eth0].delta(10m)}>10M,表示設備www.zabbix.com的接口eth0在最近10分鐘內,最大值和最小值之間的差大於10MB,即認為故障發生

9、diff

參數:忽略

支持值類型:float、int、text、log、string

描述:返回值為1,表示最近的值與之前的值不同,0為其他情況

例如:{www.zabbix.com:agent.version.diff(0)}>0,表示設備www.zabbix.com的agent.version在最近一次的值和之前的值不同

10、fuzzytime

參數:秒

支持值類型:float、int

描述:返回值為1,表示監控項值的時間戳比www.zabbix.com的時間多N秒,0為其他情況。常使用system.localtime來檢查本地時間是否與www.zabbix.com的時間相同

11、iregexp

參數:第一個為字符串、第二個為秒或#num

支持值類型:str、log、text

描述:與regexp類似,區別是不區分大小寫

12、last

參數:秒或#num

支持值類型:float、int、str、text、log

描述:最近的值,如果為秒,則忽略,#num表示最近第N個值。註意,當前的#num和其他一些函數的#num的意思是不同的

last(0) 等價與 last(#1)

last(#3)表示最近獲取的監控項值的第三個值(並不是最近的三個值),如果獲取到的值分別是A、B、C三個值,從時間順序來看,A為第一個值,B為第二個值,#3就代 表第三個值C

本函數也支持第二個參數time_shift,例如:last(0,86400)返回一天前的最緊值。如果在history中,同一秒有多個值存在,zabbix不保證值的精確順序

例如: {www.zabbix.com:mysql.ping.last(#3,5m)}=0,表示設備www.zabbix.com的MySQL最近5分鐘內第3次取值結果為0,即認為故障發生,註意#3的用法和其他函數不同

13、logeventid

參數:string

支持值類型:log

描述:檢查最近的日誌條目的EventId是否匹配正則表達式。參數為正則表達式、POSIX擴展樣式。當返回值為0時,表示不匹配,1表示匹配。

14、logseverity

參數:忽略

支持值類型:log

描述:返回最近日誌條目的日誌等級(log severity)。當返回值為0時,表示默認等級,N為具體對應的等級(整數,常用於Windows event logs)

15、logsource

參數:string

支持值類型:log

描述:檢查最近的日誌條目是否匹配參數的日誌來源。當返回值為0時,表示不匹配,1表示匹配。通常用於Windows event logs監控

16、max

參數:秒或#num

支持值類型:float或int

描述:返回指定時間間隔的最大值。時間間隔作為第一個參數,可以是秒或收集值的數目(前綴為#),從Zabbix 1.8.2開始,函數支持第二個可選參數time_shift。

例如:{www.zabbix.com:net.tcp.service[ftp].max(#3)}=0,表示設備www.zabbix.com中的key為net.tcp.service[ftp] 在最近三次獲取到的值最大數值都為0,則視為故障

17、min

參數:秒或#num

支持值類型:float和int

描述:返回指定時間間隔的最小值。時間間隔作為第一個參數,可以是秒或收集值的數目(前綴為#)。函數支持第二個可選參數time_shift

例如:{www.zabbix.com:icmppingloss.min(5m)}>20,表示www.zabbix.com設備在5分鐘內用icmppingloss獲取到的最小值大於20,即故障發生

18、nodata

參數:秒

支持值類型:any

描述:當返回值為1時,表示指定的間隔(間隔不應小於30s)沒有接收到數據,0表示其他情況

例如:{www.zabbix.com:agent.ping.nodata(5m)}=1,表示設備www.zabbix.com的agent.ping在最近5分鐘內沒有接收到數據,及故障發生

19、now

參數:忽略

支持值類型:any

描述:返回距離Epoch(1970年1月1日 00:00:00 UTC)時間的秒數

20、prev

參數:忽略

支持值類型:float、int、str、log、text

描述:返回之前的值,類似於last(#2)

21、regexp

參數:第一個參數為string、第二個參數為秒或#num

支持值類型:str、log、text

描述:檢查最近的值是否匹配正則表達式,參數的正則表達式為POSIX擴展樣式,第二個參數為秒數或收集值的數目,將會處理多個值。本函數區分大小寫,當返回值為1時,表示找到,0為其他情況

22、str

參數:第一個參數為string、第二個參數為秒或#num

支持值類型:str、log、text

描述:查找最近值中的字符串。第一個參數指定查找的字符串,大小寫敏感。第二個可選的參數指定秒數或收集值的數目,將會處理多個值。當返回值為1時,表示找到,0為其他情況

例如:{www.zabbix.com:jmx["Catalina:type=ProtocolHandler,port=8080",comprssin].str(off)}=1,表示設備www.zabbix.com從key中獲取到了字符串off

23、strlen

參數:秒或#num

支持值類型:str、log、text

描述:指定最近值的字符串長度(並非字節),參數值類似於last函數。例如,strlen(0)等價於strlen(#1),strlen(#3)表示最近的第三個值,strlen(0,86400)表示一天前最近的值。

24、sum

參數:秒或#num

支持值類型:float或int

描述:返回指定時間間隔中收集到的值的總和。時間間隔作為第一個參數,支持秒或收集值的數目(以#開始)。本函數支持time_shift作為第二個參數。

25、time

參數:忽略

支持值類型:any

描述:返回當前時間,格式為HHMMSS

zabbix觸發器詳解