全部產品
Search
文件中心

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

更新時間:Jul 24, 2024

本文介紹舊版內容範本所支援的變數以及引用方式。

引用方式

重要

引用變數時,變數名稱必須完全符合。對於不存在的變數或者不合法的引用預設替換為空白字串。如果引用的值為物件類型,則會轉換為JSON字串。

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

可用變數及其引用

目前支援的所有可用變數及引用方式如下表所示。

變數

說明

資料類型

取值樣本

引用樣本

aliuid

Project所屬的阿里雲帳號ID。

string

117918664953****

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

alert_instance_id

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

string

ee16a8f435485f3f-5be6b81edc520-3d6****

執行個體ID為${alert_instance_id}

project

警示規則所屬Project。

string

my-project

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

alert_id

警示規則ID,Project內唯一。

string

0fdd88063a611aa114938f9371daeeb6-1671a52****

警示規則ID是${alert_id}

alert_type

警示類型。

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

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

string

sls_alert

警示類型是${alert_type}

alert_name

警示規則名稱。

string

警示規則new2

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

next_eval_interval

下一次評估間隔。

int

900

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

alert_time

本次評估時間。

int

1616744734

本次評估警示的時間為${alert_time}

fire_time

首次觸發時間。

int

1616059834

警示首次觸發時間為${fire_time}

status

警示狀態。

  • firing:觸發警示。

  • resolved:恢複通知。

string

firing

警示狀態為${status}

resolve_time

警示恢復。

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

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

int

0

警示恢複的時間為${resolve_time}

results

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

array

[
{
"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,
"truncated": false,
"role_arn": ""
}
]

第一個查詢的開始時間為${results[0].start_time};結束時間為${results[0].end_time}

說明

其中0為圖表編號。

labels

標籤列表。

map

{"env":"test"}

警示標籤為${labels}

annotations

標註列表。

map

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

警示標註為${annotations}

severity

警示嚴重度。

  • 10:嚴重

  • 8:高

  • 6:中

  • 4:低

  • 2:僅報告

int

10

警示嚴重度為${severity}

policy

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

map

{
    "alert_policy_id": "sls.test-alert",
    "action_policy_id": "sls.test-action",
    "use_default": false,
    "repeat_interval": "6m0s"
}

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

region

地區。

string

cn-hangzhou

警示觸發的地區為${region}

drill_down_query

用於下鑽分析的查詢語句。在自訂警示中值為空白,目前適用於日誌審計服務、成本管家和SLB日誌中心的警示內容範本。

string

* | select count(1) as cnt

alert_url

警示的詳細URL地址。

string

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

警示URL為${alert_url}

query_url

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

string

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

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

alert_history_dashboard_url

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

string

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

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

condition

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

string

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

警示評估運算式為${condition}

raw_condition

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

string

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

原始評估運算式為${raw_condition}

dashboard

警示關聯的儀錶盤名稱。

string

mydashboard

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

dashboard_url

警示關聯的儀錶盤地址。

string

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

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

fire_results

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

array

[{
    "host":example.com",
    "host__1":"example.com",
    "pv":"836",
    "slbid":"slb-02",
    "status":"200"},{
    "host":"example.com",
    "host__1":"example.org",
    "pv":"836",
    "slbid":"slb-02",
    "status":"200"
},{
    "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"
},{
    "host":"example.com",
    "host__1":"example.com",
    "pv":"780",
    "slbid":"slb-01",
    "status":"200"
}]

警示觸發時產生的資料為${fire_results}

fire_results_count

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

int

3

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

fire_results_as_kv

觸發警示的資料,即集合操作後的資料,最多100條。以[key1:value1,key2:value2]形式展示。

array

[host:example.com,pv:836,status:200][host:example.com,pv:780,status:200]

警示觸發時產生的資料詳情為${fire_results_as_kv}

Policy結構

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

欄位

說明

資料類型

舉例

alert_policy_id

警示策略ID。

string

sls.test-alert

action_policy_id

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

string

sls.test-action

repeat_interval

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

string

4h

QueryData結構

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

變數

說明

資料類型

舉例

role_arn

使用服務角色。

string

acs:ram::117918664953****:role/aliyunslsalertmonitorrole

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

2006-01-02 15:04:05

start_time_ts

查詢開始時間,Unix格式。

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

int

1616741485

end_time

查詢結束時間。

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

int

2006-01-02 15:04:05

end_time_ts

查詢結束時間,Unix格式。

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

int

1616745085

dashboard_id

查詢時關聯的儀錶盤ID。

string

mydashboard

raw_results

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

array

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