內(nèi)容模板變量說明(新版)
本文介紹新版內(nèi)容模板的變量以及引用方式。
引用方式
引用變量時,變量名稱必須完全匹配。對于不存在的變量或者不合法的引用,系統(tǒng)默認替換為空字符串。如果引用的值為對象類型,則會轉(zhuǎn)換為JSON字符串。模板的變量名稱規(guī)則:大小寫字母、數(shù)字、下劃線,且不以數(shù)字開頭。
如果模板變量名稱符合標準規(guī)則,則可以通過
{{alert.xxx}}
獲取變量。如果模板變量名稱不符合標準規(guī)則,例如變量名稱為
__tag__:__namespace__
,獲取變量的方法為{{alert.annotations["__tag__:__namespace__"] }}
。
配置行動策略時必須選擇內(nèi)容模板,內(nèi)容模板定義具體的發(fā)送內(nèi)容和主題。您可以在發(fā)送內(nèi)容和主題中,通過{{ alert.xxx }}
方式引用模板變量。日志服務(wù)發(fā)送告警通知時,會將發(fā)送內(nèi)容和主題中的模板變量替換為真實值,例如{{ alert.project }}
替換為告警規(guī)則所屬的Project名稱。
除了直接引用變量外,您還可以通過控制流以及內(nèi)置函數(shù)對變量進行操作和處理。具體的模板語法和內(nèi)置函數(shù)請參見內(nèi)容模板語法(新版)、內(nèi)置模板函數(shù)。
告警屬性
變量 | 說明 | 數(shù)據(jù)類型 | 取值示例 | 引用示例 |
aliuid | Project所屬的阿里云賬號ID。 | string | 117918634953**** |
|
alert_instance_id | 告警觸發(fā)的實例的ID。 | string | ee16a8f435485f3f-5be6b81edc520-3d6**** | 實例ID為 |
alert_id | 告警規(guī)則ID,Project內(nèi)唯一。 | string | alert-12345 | 告警規(guī)則ID是 |
alert_name | 告警規(guī)則名稱。 | string | 測試告警規(guī)則 | 告警規(guī)則 |
alert_type | 告警類型。
| string | sls_alert | 告警類型是 |
region | 地域。 | string | cn-hangzhou | 告警觸發(fā)的地域為 |
project | 告警規(guī)則所屬Project。 | string | my-project |
|
next_eval_interval | 下一次評估間隔,單位為秒。 | int | 300 | 下一次評估時間為 |
alert_time | 本次評估時間。 | int | 1616744734 | 本次評估告警的時間為 |
fire_time | 首次觸發(fā)時間。 | int | 1616059834 | 告警首次觸發(fā)時間為 |
status | 告警狀態(tài)。
| string | firing | 告警狀態(tài)為 |
resolve_time | 告警恢復(fù)時間。
| int | 0 | 告警恢復(fù)的時間為 |
severity | 告警嚴重度。
| int | 10 | 告警嚴重度為 |
labels | 標簽列表。 | map | {"env":"test"} | 告警標簽為 |
annotations | 標注列表。 | map | { "title": "告警標題","desc": "告警描述" } | 告警標注為 |
results | 查詢參數(shù)和中間結(jié)果,數(shù)組類型。變量取值說明,請參見QueryData結(jié)構(gòu)。 | array | 參見本文末尾附錄。 | 第一個查詢的開始時間為 |
fire_results | 觸發(fā)告警的數(shù)據(jù),即集合操作后的數(shù)據(jù),最多100條。 fire_results變量值超過2KB,并且查詢結(jié)果字段內(nèi)容的長度超過1KB時,超出部分會被截斷。 | array | 參見本文末尾附錄。 | 告警觸發(fā)時產(chǎn)生的數(shù)據(jù)為 |
fire_results_count | 觸發(fā)告警的數(shù)據(jù)的總條數(shù),可能多于100,例如笛卡爾積操作后的總條數(shù)。 | int | 3 | 告警觸發(fā)時產(chǎn)生的總數(shù)據(jù)條數(shù)為 |
condition | 觸發(fā)告警的評估表達式。其中,以觸發(fā)告警的值替換您所配置的變量,并使用中括號([ ])包裹。格式為 | string |
| 告警評估表達式為 |
raw_condition | 原始的評估表達式,即變量未被替換為真實值的原始表達式。格式為 | string |
| 原始評估表達式為 |
policy | 告警策略或者行動策略。變量取值說明,請參見Policy結(jié)構(gòu)。 | map | 參見本文末尾附錄。 | 告警策略ID為 |
dashboard | 告警關(guān)聯(lián)的儀表盤名稱。 | string | mydashboard | 告警關(guān)聯(lián)的儀表盤名稱為 |
alert_url | 告警的詳細URL地址。 | string | https://sls.console.aliyun.com/lognext/project/test-xxxx/alert/alert-1617164106-940166 | 告警URL為 |
query_url | 查詢統(tǒng)計中第一個查詢頁面的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 | 查詢統(tǒng)計中第一個查詢頁面的URL地址為 |
alert_history_dashboard_url | 告警歷史統(tǒng)計報表的URL地址。 | string | https://sls.console.aliyun.com/lognext/project/test-xx/dashboard/internal-alert-analysis | 告警歷史統(tǒng)計報表的URL地址為 |
dashboard_url | 告警關(guān)聯(lián)的儀表盤地址。 | string | https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard | 告警關(guān)聯(lián)的儀表盤地址為 |
fingerprint | 告警指紋。更多信息,請參見基于告警指紋去重。 | string | 478325709134bc5c | 告警指紋為 |
signin_url | 免登錄控制臺即可查看告警詳情。更多信息,請參見免登錄查看告警詳情。 | string | https://sls.console.aliyun.com/console/AlertAjax/slsSignIn.json?token=xxxx |
|
Policy結(jié)構(gòu)
policy變量中可引用的變量說明如下表所示。
變量 | 說明 | 數(shù)據(jù)類型 | 取值示例 |
alert_policy_id | 告警策略ID。 | string | sls.test-alert |
action_policy_id | 告警監(jiān)控規(guī)則指定的行動策略ID,僅在告警策略使用動態(tài)行動策略時有用。 | string | sls.test-action |
repeat_interval | 重復(fù)等待時間,僅在告警策略使用動態(tài)行動策略時有用。 | string | 4h |
QueryData結(jié)構(gòu)
results變量中可引用的變量說明如下表所示。
變量 | 說明 | 數(shù)據(jù)類型 | 取值示例 |
store_type | 存儲類型。
| string | log |
region | 查詢統(tǒng)計目標庫所在地域。 存儲類型為資源數(shù)據(jù)時,該變量值為空。 | string | cn-hangzhou |
project | 查詢統(tǒng)計目標庫所在Project。 存儲類型為資源數(shù)據(jù)時,該變量值為空。 | string | sls-test-alert |
store | 查詢統(tǒng)計中的目標庫名稱。 | string | test-logstore |
query | 查詢分析語句。 | string | error | select count(1) as cnt |
start_time | 查詢開始時間。 存儲類型為資源數(shù)據(jù)時,該變量值為空。 | int | 1616741485 |
end_time | 查詢結(jié)束時間。 存儲類型為資源數(shù)據(jù)時,該變量值為空。 | int | 1616745085 |
raw_results | 實際查詢內(nèi)容,數(shù)組格式,最多100行。 raw_results變量值超過2KB,并且查詢結(jié)果字段內(nèi)容的長度超過1KB時,超出部分會被截斷。 | array |
|
raw_results_count | 實際查詢數(shù)據(jù)的總條數(shù),可能多于100。 | int | 20 |
fire_result | 告警觸發(fā)內(nèi)容中的第一條數(shù)據(jù)。告警觸發(fā)結(jié)果集可能包含多條數(shù)據(jù),該參數(shù)只返回第一條數(shù)據(jù)。 | map |
|
query_url | 查詢的URL地址。 存儲類型為資源數(shù)據(jù)時,該變量值為空。 | 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 | 查詢關(guān)聯(lián)的儀表盤地址。 | string | https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard |
role_arn | 使用服務(wù)角色的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" }