全部產品
Search
文件中心

Simple Log Service:內容範本變數說明(新版)

更新時間:Jun 30, 2024

本文介紹新版內容範本的變數以及引用方式。

引用方式

重要

引用變數時,變數名稱必須完全符合。對於不存在的變數或者不合法的引用,系統預設替換為空白字串。如果引用的值為物件類型,則會轉換為JSON字串。模板的變數名稱規則:大小寫字母、數字、底線,且不以數字開頭。

  • 如果模板變數名稱符合標準規則,則可以通過{{alert.xxx}}擷取變數。

  • 如果模板變數名稱不符合標準規則,例如變數名稱為__tag__:__namespace__,擷取變數的方法為{{alert.annotations["__tag__:__namespace__"] }}

配置行動策略時必須選擇內容範本,內容範本定義具體的發送內容和主題。您可以在發送內容主題中,通過{{ alert.xxx }}方式引用模板變數。Log Service發送警示通知時,會將發送內容主題中的模板變數替換為真實值,例如{{ alert.project }}替換為警示規則所屬的Project名稱。

除了直接引用變數外,您還可以通過控制流程以及內建函數對變數進行操作和處理。具體的模板文法和內建函數請參見內容範本文法(新版)內建模板函數

警示屬性

變數

說明

資料類型

取值樣本

引用樣本

aliuid

Project所屬的阿里雲帳號ID。

string

117918634953****

{{ alert.aliuid }}使用者的警示規則已觸發。

alert_instance_id

警示觸發的執行個體的ID。

string

ee16a8f435485f3f-5be6b81edc520-3d6****

執行個體ID為{{ alert.alert_instance_id }}

alert_id

警示規則ID,Project內唯一。

string

alert-12345

警示規則ID是{{ alert.alert_id }}

alert_name

警示規則名稱。

string

測試警示規則

警示規則{{ alert.alert_name }}已經觸發。

alert_type

警示類型。

  • sls_alert:由警示監控規則引發的警示。

  • sls_pub:來自於開放警示的警示。

  • sls_ml:由智能巡檢觸發的警示。

string

sls_alert

警示類型是{{ alert.alert_type }},格式化顯示為{{ alert.alert_type | format_type }}

region

地區。

string

cn-hangzhou

警示觸發的地區為{{ alert.region }}

project

警示規則所屬Project。

string

my-project

{{ alert.project }}專案中的警示規則已觸發。

next_eval_interval

下一次評估間隔,單位為秒。

int

300

下一次評估時間為{{ alert.next_eval_interval }}秒後。

alert_time

本次評估時間。

int

1616744734

本次評估警示的時間為{{ alert.alert_time }},格式化顯示為{{ alert.alert_time | format_date }}

fire_time

首次觸發時間。

int

1616059834

警示首次觸發時間為{{ alert.fire_time }},格式化顯示為{{ alert.fire_time | format_date }}

status

警示狀態。

  • firing:觸發警示。

  • resolved:恢複通知。

string

firing

警示狀態為{{ alert.status }},格式化顯示為{{ alert.status | format_status }}

resolve_time

警示恢復。

  • 如果警示狀態是firing,取值為0。

  • 如果警示狀態是resolved,取值為具體恢復。

int

0

警示恢複的時間為{{ alert.resolve_time }},格式化顯示為{{ alert.resolve_time | format_date }}

severity

警示嚴重度。

  • 10:嚴重

  • 8:高

  • 6:中

  • 4:低

  • 2:僅報告

int

10

警示嚴重度為{{ alert.severity }},格式化顯示為{{ alert.severity | format_severity }}

labels

標籤列表。

map

{"env":"test"}

警示標籤為{{ alert.labels | to_list }}

annotations

標註列表。

map

{ "title": "警示標題","desc": "警示描述" }

警示標註為{{ alert.annotations | to_list }}

results

查詢參數和中間結果,數群組類型。變數取值說明,請參見QueryData結構

array

參見本文末尾附錄。

第一個查詢的開始時間為{{ alert.results[0].start_time }};結束時間為{{ alert.results[0].end_time }};count的值為{{ alert.results[0].fire_result.cnt }};查詢和分析語句為{{ alert.results[0].query }}

fire_results

觸發警示的資料,即集合操作後的資料,最多100條。

fire_results變數值超過2KB,並且查詢結果欄位內容的長度超過1KB時,超出部分會被截斷。

array

參見本文末尾附錄。

警示觸發時產生的資料為{{ alert.fire_results | to_json }}

fire_results_count

觸發警示的資料的總條數,可能多於100,例如笛卡爾積操作後的總條數。

int

3

警示觸發時產生的總資料條數為{{ alert.fire_results_count }}

condition

觸發警示的評估運算式。其中,以觸發警示的值替換您所配置的變數,並使用中括弧([ ])包裹。格式為Count:數量運算式;Condition:匹配運算式

string

Count:[5] > 3;Condition:[example.com]=='example.com'

警示評估運算式為{{ alert.condition }}

raw_condition

原始的評估運算式,即變數未被替換為真實值的原始運算式。格式為Count:數量運算式;Condition:匹配運算式

string

Count:__count__ > 3;Condition:host=='example.com'

原始評估運算式為{{ alert.raw_condition }}

policy

警示策略或者行動策略。變數取值說明,請參見Policy結構

map

參見本文末尾附錄。

警示策略ID為{{ alert.policy.alert_policy_id }}

dashboard

警示關聯的儀錶盤名稱。

string

mydashboard

警示關聯的儀錶盤名稱為{{ alert.dashboard }}

alert_url

警示的詳細URL地址。

string

https://sls.console.aliyun.com/lognext/project/test-xxxx/alert/alert-1617164106-940166

警示URL為{{ alert.alert_url }}

query_url

查詢統計中第一個查詢頁面的URL地址。

string

https://sls.console.aliyun.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcyBjbn****&queryTimeType=99&startTime=1617175089

查詢統計中第一個查詢頁面的URL地址為{{ alert.query_url }}

alert_history_dashboard_url

警示歷史統計報表的URL地址。

string

https://sls.console.aliyun.com/lognext/project/test-xx/dashboard/internal-alert-analysis

警示歷史統計報表的URL地址為{{ alert.alert_history_dashboard_url }}

dashboard_url

警示關聯的儀錶盤地址。

string

https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard

警示關聯的儀錶盤地址為{{ alert.dashboard_url }}

fingerprint

警示指紋。更多資訊,請參見基於警示指紋去重

string

478325709134bc5c

警示指紋為{{ alert.fingerprint }}

signin_url

免登入控制台即可查看警示詳情。更多資訊,請參見免登入查看警示詳情

string

https://sls.console.aliyun.com/console/AlertAjax/slsSignIn.json?token=xxxx

[查看詳情]({{ alert.signin_url }})

Policy結構

policy變數中可引用的變數說明如下表所示。

變數

說明

資料類型

取值樣本

alert_policy_id

警示策略ID。

string

sls.test-alert

action_policy_id

警示監控規則指定的行動策略ID,僅在警示策略使用動態行動策略時有用。

string

sls.test-action

repeat_interval

重複等待時間,僅在警示策略使用動態行動策略時有用。

string

4h

QueryData結構

results變數中可引用的變數說明如下表所示。

變數

說明

資料類型

取值樣本

store_type

儲存類型。

  • log:日誌。

  • metric:時序資料。

  • meta:資源資料。

string

log

region

查詢統計目標庫所在地區。

儲存類型為資源資料時,該變數值為空白。

string

cn-hangzhou

project

查詢統計目標庫所在Project。

儲存類型為資源資料時,該變數值為空白。

string

sls-test-alert

store

查詢統計中的目標庫名稱。

string

test-logstore

query

查詢分析語句。

string

error | select count(1) as cnt

start_time

查詢開始時間。

儲存類型為資源資料時,該變數值為空白。

int

1616741485

end_time

查詢結束時間。

儲存類型為資源資料時,該變數值為空白。

int

1616745085

raw_results

實際查詢內容,數組格式,最多100行。

raw_results變數值超過2KB,並且查詢結果欄位內容的長度超過1KB時,超出部分會被截斷。

array

[{
    "host": "example.com",
    "slbid": "slb-02",
    "status": "200"
}, {
    "host": "example.com",
    "slbid": "slb-01",
    "status": "200"
}]

raw_results_count

實際查詢資料的總條數,可能多於100。

int

20

fire_result

警示觸發內容中的第一條資料。警示觸發結果集可能包含多條資料,該參數只返回第一條資料。

map

{
    "host": "example.com",
    "slbid": "slb-02",
    "status": "200"
}

query_url

查詢的URL地址。

儲存類型為資源資料時,該變數值為空白。

string

https://sls.console.aliyun.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcy*******&queryTimeType=99&startTime=1617175089

dashboard_url

查詢關聯的儀錶盤地址。

string

https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard

role_arn

使用服務角色的ARN。

string

acs:ram::117918634953****:role/aliyunslsalertmonitorrole

常見問題

附錄

  • results

    [{
        "store_type": "log",
        "region": "cn-hangzhou",
        "project": "sls-alert-test",
        "store": "test",
        "query": "* | select count(1) as cnt",
        "start_time": 1616741485,
        "end_time": 1616745085,
        "dashboard_id": "mydashboard",
        "raw_results": [{
            "cnt": "4"
        }],
        "raw_result_count": 1,
        "fire_result": {
            "cnt": "4"
        },
        "truncated": false,
        "role_arn": ""
    }]
  • fire_results

    [{
        "host": "example.com",
        "host__1": "example.com",
        "pv": "836",
        "slbid": "slb-02",
        "status": "200"
    }, {
        "host": "example.com",
        "host__1": "example.com",
        "pv": "836",
        "slbid": "slb-02",
        "status": "200"
    }]
  • policy

    {
        "alert_policy_id": "sls.test-alert",
        "action_policy_id": "sls.test-action",
        "repeat_interval": "5m0s"
    }