このトピックでは、アラート通知でサポートされているテンプレート変数と、変数の参照方法について説明します。

参照方法

アクションポリシーを設定する場合、アラートテンプレートを選択する必要があります。 テンプレートは、アラート通知の内容と件名を定義するために使用されます。 ContentSubject のパラメーターを指定する場合、${fieldName} 構文を使用してテンプレート変数を参照できます。 Log Service は、アラート通知を送信する前に Content および Subjectパラメーターで参照されているテンプレート変数を実際の値に置換します。 たとえば、${project} はアラートモニタリングルールが属するプロジェクトの名前に置換されます。
重要 変数の参照には、完全一致を使用する必要があります。 参照される変数が存在しないか、または無効な場合、その変数は空の文字列として処理されます。 参照される変数の値がオブジェクトタイプの場合、値は変換されて JSON 文字列として表示されます。

利用可能な変数と参照の例

下表に、サポートされているテンプレート変数、および変数の参照方法を示します。
変数 説明 サンプル値 参照の例
aliuid ユーザーが属する Alibaba Cloud アカウントの ID。 1234567890 アラートは Alibaba Cloud アカウント ${Aliuid} に対してトリガーされます。
alert_instance_id アラートの ID。 ee16a8f435485f3f-5be6b81edc520-3d69233 アラートの ID は ${alert_instance_id} です。
project アラートモニタリングルールが属するプロジェクト。 my-project ${project} プロジェクトでアラートがトリガーされます。
alert_id アラートモニタリングルールの ID。 ID はプロジェクト内で一意です。 0fdd88063a611aa114938f9371daeeb6-1671a52eb23 アラートモニタリングルールの ID は ${alert_id} です。
alert_type
  • sls_alert: アラートは、アラートモニタリングルールに基づいてトリガーされます。
  • sls_pub: アラートはアラート取り込みシステムに属しています。
sls_alert アラートタイプは ${alert_type} です。
alert_name アラートモニタリングルールのルール名。 new2 アラートは、アラートモニタリングルール ${alert_name} に基づいてトリガーされます。
next_eval_interval 次の評価までの間隔です。 900 ${next_eval_interval} 秒後に次の評価が実行されます。
alert_time 評価の実行時刻。 1616744734 評価は ${alert_time} に実行されます。
fire_time 初回のアラートのトリガー時刻。 1616059834 初回のアラートは、${fire_time} にトリガーされます。
status アラートのステータス。 有効な値は firing と resolved です。 firing アラートステータスは ${status} です。
resolve_time アラートの解除日時。
  • アラートステータスが firing の場合、この変数の値は 0 です。
  • アラートステータスが resolved の場合、この値は特定の時刻です。
0 アラートは ${resolve_time} に解除されます。
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,
"truncated": false,
"role_arn": ""
}
]
最初のクエリ文をクエリする期間は、${results[0].start_time} から ${results[0].end_time} です。
この例では、0 がクエリ文のシリアル番号を示します。 クエリ文のシリアル番号は、クエリ文の結果をプロットするグラフのシリアル番号と同じです。 詳細については、「グラフのシリアル番号の表示方法」をご参照ください。
labels ラベルのリスト。 {"env":"test"} アラートのラベルは ${labels} です。
annotations 注釈のリスト。 { "title": "Alert title","desc": "Alert description"} アラートの注釈は ${annotations} です。
severity アラートの重大度。 有効な値は、 10 (重大)、8 (高)、6 (中)、4 (低)、2 (報告) です。 10 アラートの重大度は ${severity} です。
policy アラートポリシーまたはアクションポリシー。 ポリシー変数のフィールドに関する詳細については、「ポリシー変数のデータ構造」をご参照ください。
{"alert_policy_id": "sls.test-alert","action_policy_id": "sls.test-action","use_default": false,"repeat_interval": "6m0s"}
アラートポリシーの ID は ${policy.alert_policy_id} です。
region アラートモニタリングルールが属するリージョン。 cn-hangzhou アラートモニタリングルールが属するリージョンは ${region} です。
drill_down_query ドリルダウン分析に使用するクエリ文。 カスタムアラートテンプレートの場合、この値は空です。 この変数は、ログ監査サービス、コストマネージャー、SLB ログセンターのアラートテンプレートで使用できます。 * | select count(1) as cnt なし
alert_url アラートの URL。 https://sls.console.aliyun.com/lognext/project/test-xxxx/alert/alert-1617164106-940166 アラート URL は ${alert_url} です。
query_url クエリ統計の最初のクエリページの URL。 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。 https://sls.console.aliyun.com/lognext/project/test-xx/dashboard/internal-alert-analysis アラート履歴統計ダッシュボードの URL は ${alert_history_dashboard_url} です。
condition アラートモニタリングルールのトリガー条件。 Log Service は、トリガー条件の変数をアラートをトリガーする値に置換します。 各値は、角かっこ [] で囲まれます。 書式: Count: 数量式; Condition: 一致する式 Count:[5] > 3;Condition:[www.mro.mock.com]=='www.mro.mock.com' アラートモニタリングルールのトリガー条件は ${condition} です。
raw_condition アラートモニタリングルールの元のトリガー条件。 トリガー条件の変数は保持されます。 書式: Count: 数量式; Condition: 一致する式 Count:__count__ > 3;Condition:host=='www.mro.mock.com' 元のトリガー条件は ${raw_condition} です。
dashboard アラートモニタリングルールに関連付けられているダッシュボード名。 mydashboard アラートモニタリングルールは、ダッシュボード ${dashboard} に関連付けられています。
Dashboard_url アラートモニタリングルールに関連付けられているダッシュボードの URL。 https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard アラートモニタリングルールに関連付けられているダッシュボードの URL は ${dashboard_url} です。
fire_results アラートをトリガーするデータ。 セット操作の実行後、最大 100 行のデータが返されます。 [{"host":"www.xhu.mock.com","host__1":"www.iks.mock.com","pv":"836","slbid":"slb-02","status":"200"},{"host":"www.ykw.mock.com","host__1":"www.iks.mock.com","pv":"836","slbid":"slb-02","status":"200"},{"host":"www.mro.mock.com","host__1":"www.iks.mock.com","pv":"836","slbid":"slb-02","status":"200"},{"host":"www.amh.mock.com","host__1":"www.iks.mock.com","pv":"836","slbid":"slb-02","status":"200"},{"host":"www.uua.mock.com","host__1":"www.ue.mock.com","pv":"780","slbid":"slb-01","status":"200"}] アラートをトリガーするデータは ${fire_results} です。
fire_results_count アラートをトリガーするデータ行の総数。 100 より大きい値とする必要があります。 たとえば、複数のデータセットに対して CROSS JOIN 操作を実行する場合、アラートをトリガーするデータ行の総数が 100 を超える可能性があります。 3 アラートをトリガーするデータ行の総数は ${fire_results_count} です。
fire_results_as_kv アラートをトリガーするデータ。 セット操作の実行後、最大 100 行のデータが返されます。 書式: [key1:value1,key2:value2]. [host:www.xhu.mock.com,pv:836,status:200][host:www.uua.mock.com,pv:780,status:200] アラートをトリガーするデータの詳細は ${fire_results_as_kv} です。

ポリシー変数のデータ構造

フィールド フィールドの説明
alert_policy_id アラートポリシーの ID。 sls.test-alert
action_policy_id アラートモニタリングルールで指定されているアクションポリシーの ID。 このフィールドは、アラートポリシーを動的アクションポリシーに関連付ける場合にのみ使用できます。 sls.test-action
repeat_interval 定期アラートの間隔。 このフィールドは、アラートポリシーをアクションポリシーに関連付ける場合にのみ使用できます。 4h

結果変数のデータ構造

下表に、結果変数のフィールドを示します。

フィールド フィールドの説明
role_arn Alibaba Cloud Resource Name (ARN) 。 acs:ram::1234567890:role/aliyunslsalertmonitorrole
store_type ストレージタイプです。
  • log:ログ
  • metric:時系列データ
  • meta: リソースデータ
log
region 配信先の Logstore または Metricstore が存在するリージョン。 store_type フィールドの値が meta の場合、このフィールドは空です。 cn-hangzhou
project 配信先 Logstore または Metricstore が属するプロジェクト。 store_type フィールドの値が meta の場合、このフィールドは空です。 sls.test-alert
store 配信先の Logstore 名または Metricstore 名。 test-logstore
query クエリ 文です。 error | select count(1) as cnt
start_time クエリする期間の開始時刻。 store_type フィールドの値が meta の場合、このフィールドは空です。 2006-01-02 15:04:05
start_time_ts クエリする期間の開始時刻。 この値は UNIX タイムスタンプです。 store_type フィールドの値が meta の場合、このフィールドは空です。 1616741485
end_time クエリする期間の終了時刻。 store_type フィールドの値が meta の場合、このフィールドは空です。 2006-01-02 15:04:05
end_time_ts クエリする期間の終了時刻。 この値は UNIX タイムスタンプです。 store_type フィールドの値が meta の場合、このフィールドは空です。 1616745085
dashboard_id クエリに関連付けられているダッシュボードの ID。 mydashboard
raw_results クエリ結果。 このフィールドは配列型です。 最大 100 行のデータが返されます。 [{"host":"www.zc.mock.com","slbid":"slb-02","status":"200"},{"host":"www.evi.mock.com","slbid":"slb-01","status":"200"},{"host":"www.fo.mock.com","slbid":"slb-02","status":"306"},{"host":"www.gnp.mock.com","slbid":"slb-02","status":"200"},{"host":"www.tha.mock.com","slbid":"slb-01","status":"200"},{"host":"www.aoi.mock.com","slbid":"slb-02","status":"200"}]