Zabbix 2.4 —— Trigger Founction

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) 字符串參數應該用雙引號。否則,他們可能會報錯


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章