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

設(shè)置評估表達式

告警監(jiān)控規(guī)則根據(jù)評估表達式的執(zhí)行結(jié)果來判斷是否滿足觸發(fā)告警條件,以及評估動態(tài)告警嚴重度。本文介紹評估表達式的使用方法。

概覽

您查詢語句的執(zhí)行結(jié)果將作為輸入,集合操作結(jié)果的字段作為變量,當(dāng)評估表達式條件為真,則觸發(fā)告警。

image

限制說明

告警監(jiān)控規(guī)則的評估表達式相關(guān)限制說明如下所示:

  • 負數(shù)使用括號包裹,例如x+(-100)<100

  • 數(shù)值類型都被轉(zhuǎn)換為64位浮點數(shù),如果使用比較操作(例如等于)可能存在誤差。

  • 變量名只能包含字母和數(shù)字,且必須以字母開頭。

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

  • 僅當(dāng)評估表達式的值為true且滿足連續(xù)觸發(fā)閾值時,才會觸發(fā)告警。例如評估表達式為100+100,計算結(jié)果為200,由于其結(jié)果是數(shù)字不是true,故不會觸發(fā)告警。

  • true、false、美元符號($)和半角句號(.)是評估表達式的保留詞,不能作為變量使用。

基礎(chǔ)語法

告警監(jiān)控規(guī)則的評估表達式支持如下語法類型。

說明

字段名稱為結(jié)果集中的字段名稱,建議使用英文字符串,不推薦使用純數(shù)字、特殊符號(例如%)。如果字段名稱為純數(shù)字或者含有特殊符號,需使用英文中括號包裹。例如:

  • [5xx比例(%)] > 20

  • [404] > 20

語法類型

運算符

運算方式

示例

變量與變量運算

非String常量與變量運算

String常量與變量運算

基礎(chǔ)運算符

四則運算,支持加減乘除、取模(+-*/%)

左右值轉(zhuǎn)Number后運算。

左右值轉(zhuǎn)Number后運算。

不支持。

  • x * 100 + y > 200

  • x % 10 > 5

比較運算符

比較運算:

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

按照以下優(yōu)先級確定運算順序:

  1. 左右值轉(zhuǎn)Number后按照數(shù)值序運算。如果轉(zhuǎn)換失敗則執(zhí)行下一優(yōu)先級的運算。

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

左右值轉(zhuǎn)Number后運算。

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

  • x >= 0

  • x < 100

  • x <= 100

  • x == 100

  • x == "foo"

  • (x > 100) == true

    說明

    支持布爾常量。

正則是否匹配:

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

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

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

左右值按String類型運算。

不支持。

左右值按String類型運算。

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

邏輯操作符

邏輯運算:

與(&&)、或(||)

左右值必須為子運算式,且運算結(jié)果為布爾值。例如,評估表達式為$0.success_ratio < 90 && $1.平均響應(yīng)時間 > 60

左右值必須為子運算式,且運算結(jié)果為布爾值。例如,評估表達式為$0.success_ratio < 90 && $1.平均響應(yīng)時間 > 60

左右值必須為子運算式,且運算結(jié)果為布爾值。例如,評估表達式為$0.success_ratio < 90 && $1.平均響應(yīng)時間 > 60

  • x >= 0 && y <= 100

  • x > 0 || y >0

取反前綴操作

取反前綴(!)

被取反的值必須為子運算式,且運算結(jié)果為布爾值。例如,評估表達式為!($0.success_ratio < 90)

不支持對集合操作結(jié)果的字段直接使用該運算符。

被取反的值必須為子運算式,且運算結(jié)果為布爾值。例如,評估表達式為!($0.success_ratio < 90)

不支持對集合操作結(jié)果的字段直接使用該運算符。

被取反的值必須為子運算式,且運算結(jié)果為布爾值。例如,評估表達式為!($0.success_ratio < 90)

不支持對集合操作結(jié)果的字段直接使用該運算符。

!(a < 1 && a > 100)

contains函數(shù)

字符串查找(contains)

左右值轉(zhuǎn)String類型后進行運算。

不支持。

左右值按String類型運算。

contains(foo, 'hello')返回true則表示foo中包含hello子串。

括號

括號()

決定運算結(jié)合順序與優(yōu)先級。

決定運算結(jié)合順序與優(yōu)先級。

決定運算結(jié)合順序與優(yōu)先級。

x * (y + 100) > 100

對集合操作結(jié)果進行評估

日志服務(wù)支持3個集合關(guān)聯(lián)監(jiān)控以及評估集合操作結(jié)果。

集合操作結(jié)果

查詢語句的執(zhí)行結(jié)果作為輸入,集合操作結(jié)果的字段作為變量,進行告警評估。有關(guān)集合操作更多信息,請參見關(guān)聯(lián)多個查詢分析結(jié)果,如下對集合操作結(jié)果進行說明。

說明

評估查詢和分析結(jié)果是針對集合操作(例如笛卡爾積、左連接等)后的最終集合結(jié)果進行評估。

  • 如果多個查詢和分析結(jié)果中不含重復(fù)字段,則在評估表達式中引用字段時,可以不加$0、$1、$2等前綴。例如name == 'sls'

  • 如果多個查詢和分析結(jié)果中包含重復(fù)字段,則在評估表達式中引用字段時,必須加$0、$1、$2等前綴。例如$0.name == 'sls' || $1.name == 'ecs'

類別

子類

說明

日志

無SELECT語句

僅使用查詢語句進行查詢操作。

設(shè)置觸發(fā)條件表達式時可引用查詢結(jié)果中的字段。

使用SELECT * FROM log

設(shè)置觸發(fā)條件表達式時可引用所有已開啟統(tǒng)計功能的字段。

使用SELECT子查詢(包含SELECT * FROM (SELECT...))

設(shè)置觸發(fā)條件表達式時可引用SELECT子查詢中的字段。

時序數(shù)據(jù)

使用SELECT promql(...)

通過promql_query(string)、promql_query_range(string, string)函數(shù)返回固定字段metric、labels、time和value。其中日志服務(wù)會將labels字段按照Map格式展開。

設(shè)置觸發(fā)條件表達式時可引用metric、labels、time、value字段以及l(fā)abels字段中的子字段。

使用SELECT a, b FROM (SELECT promql(...))

設(shè)置觸發(fā)條件表達式時可引用所有已開啟統(tǒng)計功能的字段。

使用SELECT * FROM log

設(shè)置觸發(fā)條件表達式時可引用所有已開啟統(tǒng)計功能的字段。

資源數(shù)據(jù)

資源數(shù)據(jù)中的字段只支持簡單類型(例如字符串,浮點數(shù),數(shù)字),不支持復(fù)雜類型(例如JSON)。

設(shè)置觸發(fā)條件表達式時可引用資源數(shù)據(jù)中的字段ID。

配置觸發(fā)條件

告警監(jiān)控規(guī)則在評估集合操作結(jié)果時,如果集合操作結(jié)果滿足觸發(fā)條件,則表示評估通過,生成一條告警。觸發(fā)條件包括如下選項:

  • 有數(shù)據(jù):對集合操作結(jié)果中的數(shù)據(jù)條數(shù)進行判斷,只要有1條數(shù)據(jù),就滿足觸發(fā)條件。

    image

  • 有特定條數(shù)據(jù):對集合操作結(jié)果中的數(shù)據(jù)條數(shù)進行判斷,支持的運算符包括大于、小于、等于等。當(dāng)數(shù)據(jù)條數(shù)滿足特定條數(shù)據(jù)時,滿足觸發(fā)條件。例如集合操作結(jié)果中有4條數(shù)據(jù),觸發(fā)條件為有特定條數(shù)據(jù)>10條,則表示集合操作結(jié)果未滿足觸發(fā)條件,不會生成告警。

    image

  • 有數(shù)據(jù)匹配:對集合操作結(jié)果中的數(shù)據(jù)內(nèi)容進行判斷,只要有1條數(shù)據(jù)的內(nèi)容匹配評估表達式,就滿足觸發(fā)條件。例如集合操作結(jié)果為1條數(shù)據(jù)(pv=900),觸發(fā)條件為有數(shù)據(jù)匹配,pv > 1000,則表示集合操作結(jié)果未滿足觸發(fā)條件,不會生成告警。

    image

  • 有特定條數(shù)據(jù)匹配:對集合操作結(jié)果中的數(shù)據(jù)條數(shù)和數(shù)據(jù)內(nèi)容進行判斷。當(dāng)有特定條數(shù)據(jù)的內(nèi)容匹配評估表達式時,才會觸發(fā)告警。例如集合操作結(jié)果中有4條數(shù)據(jù)(pv=900、pv=1100、pv=1200、pv=1001),觸發(fā)條件為有特定條數(shù)據(jù)>3條,pv > 1000,則表示集合操作結(jié)果滿足觸發(fā)條件,生成告警。

    image

示例

示例1

如果15分鐘(相對)內(nèi)請求成功率低于90%且平均響應(yīng)時間高于60s則產(chǎn)生告警。配置如下:

查詢統(tǒng)計

  • s0:計算請求的成功比率(success_ratio)。查詢分析語句為* | select round(sum(if(status < 300, 1, 0)) * 100.0 / count(1) , 2) as success_ratio

  • s1:計算每分鐘的平均請求響應(yīng)時間。查詢分析語句為* | select date_format(date_trunc('minute',__time__), '%m-%d %H:%i') as t,avg(request_time) as "平均響應(yīng)時間(s)" group by t order by t asc limit 2000

觸發(fā)條件:告警評估表達式配置為$0.success_ratio < 90 && $1.平均響應(yīng)時間\(s\) > 60

image

示例2

如果15分鐘內(nèi)狀態(tài)碼500出現(xiàn)10次則產(chǎn)生告警。配置如下:

查詢統(tǒng)計:統(tǒng)計每種狀態(tài)碼出現(xiàn)次數(shù)。查詢分析語句為* | select status, COUNT(*) as total group by status

觸發(fā)條件:告警評估表達式配置為status == 500 && total > 10

image