日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

告警條件表達式語法

日志服務根據告警條件表達式的執行結果來判斷是否產生告警。

在判斷告警條件表達式的執行結果時,您查詢語句的執行結果將作為輸入,日志字段作為變量,一旦條件為真則觸發告警。

限制說明

告警條件表達式相關限制說明如下所示:

  • 負數需要使用括號,如 x+(-100)<100。

  • 數值類型都被當成64位浮點數,如果使用比較操作(例如等于)可能存在誤差。

  • 變量只能包含字母和數字,且首字母必須是字母。

  • 表達式長度為1~128個字符。

  • 組合求值時最多計算1000種組合,如果沒有找到結果為真的組合,則視為false。

  • 最多只支持三個查詢。

  • 當且僅當表達式的值為true時,才會觸發告警。例如100+100,計算結果為200,不會觸發告警。

  • true、false、美元符號($)和英文句點(.)是保留詞,不能作為變量使用。

基礎語法

告警條件表達式支持如下語法類型。

語法類型

說明

示例

基礎運算符

支持加減乘除、取模運算符,如下所示:

+-*/%

  • x * 100 + y > 200

  • x % 10 > 5

比較運算符

支持大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)、正則匹配 (=~)、 正則不匹配(!~)8種比較運算符。

說明
  • 反斜線(\)需要轉義。

  • 目前正則表達式支持符合RE2規范的語法。

  • x >= 0

  • x < 100

  • x <= 100

  • x == 100

  • x == "foo"

  • 正則匹配:x =~ "\\w+"

邏輯操作符

支持與(&&)、或(||)。

  • x >= 0 && y <= 100

  • x > 0 || y >0

取反前綴操作

支持取反前綴操作(!)。

!(a < 1 && a > 100)

數值常量

支持數值常量,作為64位浮點數處理。

x > 100

字符串常量

支持字符串常量,格式為'字符串',例如'string'。

foo == 'string'

布爾常量

支持布爾常量,true、false。

(x > 100) == true

括號

支持使用括號改變計算的優先級。

x * (y + 100) > 100

contains函數

支持使用contains函數判斷是否包含子串,例如contains(foo, 'hello')返回true則表示foo中包含hello子串。

contains(foo, 'hello')

多個結果組合求值

  • 語法

    支持關聯多個查詢,在使用多個查詢結果進行計算時,變量需要加上特定前綴以區分從哪個結果中獲取對應的變量值,格式為$N.fieldname,其中N為查詢編號,詳情請參見如何查看查詢編號。目前最多配置三個查詢,則N的取值范圍為0~2。如$0.foo表示第1個查詢的foo字段。當僅有一個查詢時,前綴可以省略。

  • 表達式求值

    在多個查詢結果返回時,根據表達式的變量來判斷需要使用哪些結果求值。例如您配置了三個查詢,分別返回了x、y、z條結果,告警條件表達式為$0.foo > 100 && $1.bar < 100,則說明判斷表達式的值只需要使用前兩個結果,進行x*y次求值直到某次求值返回true,或者達到計算次數上限后直接返回false,目前計算次數上限為1000次。

運算方式

說明
  • number為64位浮點數類型。

  • string常量需要使用單引號或英文雙引號進行包裹,例如'string'、"string"。

  • 布爾值包括true和false。

運算符

運算方式

變量與變量運算

非string常量與變量運算

string常量與變量運算

四則運算(+-*/%)

左右值轉number后運算。

不支持。

比較運算:

大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)

按照以下優先級決定運算順序:

  1. 左右值轉number后按照數值序運算,例如轉換失敗則執行下一優先級的運算。

  2. 左右值按string類型字典序運算。

左右值轉number后運算(數值序)。

左右值按string類型運算(字典序)。

正則是否匹配:

正則匹配 (=~)、 正則不匹配(!~)

左右值按string類型運算。

不支持。

左右值按string類型運算。

邏輯運算:

與(&&)、或(||)

不支持對查詢結果字段直接應用該運算符,左右值必須分別為子運算式,且運算結果為布爾值。

取反前綴(!)

不支持對查詢結果字段直接應用該運算符,被取反的值必須為子運算式,且運算結果為布爾值。

字符串查找(contains)

左右值轉string類型運算。

不支持。

左右值按string類型運算。

括號()

決定運算結合順序與優先級。

示例

  • 示例1:如果1天(相對)內任務成功率低于90%且延時超過60秒則產生告警,告警表達式如下圖所示。示例1

  • 示例2:如果15分鐘內狀態碼500出現10次則產生告警,告警表達式如下圖所示。示例2

  • 示例3:如果1小時內加工速率低于1000條則產生告警,告警表達式如下圖所示。示例3