本文介紹新版內容範本的變數以及引用方式。
引用方式
引用變數時,變數名稱必須完全符合。對於不存在的變數或者不合法的引用,系統預設替換為空白字串。如果引用的值為物件類型,則會轉換為JSON字串。模板的變數名稱規則:大小寫字母、數字、底線,且不以數字開頭。
如果模板變數名稱符合標準規則,則可以通過
{{alert.xxx}}
擷取變數。如果模板變數名稱不符合標準規則,例如變數名稱為
__tag__:__namespace__
,擷取變數的方法為{{alert.annotations["__tag__:__namespace__"] }}
。
配置行動策略時必須選擇內容範本,內容範本定義具體的發送內容和主題。您可以在發送內容和主題中,通過{{ alert.xxx }}
方式引用模板變數。Log Service發送警示通知時,會將發送內容和主題中的模板變數替換為真實值,例如{{ alert.project }}
替換為警示規則所屬的Project名稱。
除了直接引用變數外,您還可以通過控制流程以及內建函數對變數進行操作和處理。具體的模板文法和內建函數請參見內容範本文法(新版)、內建模板函數。
警示屬性
變數 | 說明 | 資料類型 | 取值樣本 | 引用樣本 |
aliuid | Project所屬的阿里雲帳號ID。 | string | 117918634953**** |
|
alert_instance_id | 警示觸發的執行個體的ID。 | string | ee16a8f435485f3f-5be6b81edc520-3d6**** | 執行個體ID為 |
alert_id | 警示規則ID,Project內唯一。 | string | alert-12345 | 警示規則ID是 |
alert_name | 警示規則名稱。 | string | 測試警示規則 | 警示規則 |
alert_type | 警示類型。
| string | sls_alert | 警示類型是 |
region | 地區。 | string | cn-hangzhou | 警示觸發的地區為 |
project | 警示規則所屬Project。 | string | my-project |
|
next_eval_interval | 下一次評估間隔,單位為秒。 | int | 300 | 下一次評估時間為 |
alert_time | 本次評估時間。 | int | 1616744734 | 本次評估警示的時間為 |
fire_time | 首次觸發時間。 | int | 1616059834 | 警示首次觸發時間為 |
status | 警示狀態。
| string | firing | 警示狀態為 |
resolve_time | 警示恢復。
| int | 0 | 警示恢複的時間為 |
severity | 警示嚴重度。
| int | 10 | 警示嚴重度為 |
labels | 標籤列表。 | map | {"env":"test"} | 警示標籤為 |
annotations | 標註列表。 | map | { "title": "警示標題","desc": "警示描述" } | 警示標註為 |
results | 查詢參數和中間結果,數群組類型。變數取值說明,請參見QueryData結構。 | array | 參見本文末尾附錄。 | 第一個查詢的開始時間為 |
fire_results | 觸發警示的資料,即集合操作後的資料,最多100條。 fire_results變數值超過2KB,並且查詢結果欄位內容的長度超過1KB時,超出部分會被截斷。 | array | 參見本文末尾附錄。 | 警示觸發時產生的資料為 |
fire_results_count | 觸發警示的資料的總條數,可能多於100,例如笛卡爾積操作後的總條數。 | int | 3 | 警示觸發時產生的總資料條數為 |
condition | 觸發警示的評估運算式。其中,以觸發警示的值替換您所配置的變數,並使用中括弧([ ])包裹。格式為 | string |
| 警示評估運算式為 |
raw_condition | 原始的評估運算式,即變數未被替換為真實值的原始運算式。格式為 | string |
| 原始評估運算式為 |
policy | 警示策略或者行動策略。變數取值說明,請參見Policy結構。 | map | 參見本文末尾附錄。 | 警示策略ID為 |
dashboard | 警示關聯的儀錶盤名稱。 | string | mydashboard | 警示關聯的儀錶盤名稱為 |
alert_url | 警示的詳細URL地址。 | string | https://sls.console.aliyun.com/lognext/project/test-xxxx/alert/alert-1617164106-940166 | 警示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_history_dashboard_url | 警示歷史統計報表的URL地址。 | string | https://sls.console.aliyun.com/lognext/project/test-xx/dashboard/internal-alert-analysis | 警示歷史統計報表的URL地址為 |
dashboard_url | 警示關聯的儀錶盤地址。 | string | https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard | 警示關聯的儀錶盤地址為 |
fingerprint | 警示指紋。更多資訊,請參見基於警示指紋去重。 | string | 478325709134bc5c | 警示指紋為 |
signin_url | 免登入控制台即可查看警示詳情。更多資訊,請參見免登入查看警示詳情。 | string | https://sls.console.aliyun.com/console/AlertAjax/slsSignIn.json?token=xxxx |
|
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 | 儲存類型。
| 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 |
|
raw_results_count | 實際查詢資料的總條數,可能多於100。 | int | 20 |
fire_result | 警示觸發內容中的第一條資料。警示觸發結果集可能包含多條資料,該參數只返回第一條資料。 | map |
|
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" }