このトピックでは、Log Serviceの元のアラートテンプレートで使用できる変数について説明します。 このトピックでは、変数の参照に使用できるメソッドについても説明します。

参照方法

重要 変数のフルネームを使用して、変数を参照する必要があります。 参照先の変数が見つからないか無効な場合、Log Serviceは変数を空の文字列に置き換えます。 参照変数の値がオブジェクト型の場合、値はJSON文字列に変換されます。

アクションポリシーを設定する場合、アラートテンプレートを選択する必要があります。 アラートテンプレートは、アラート通知の内容と件名を指定します。 ContentパラメーターとSubjectパラメーターを設定するときに、${fieldName} 構文を使用してアラートテンプレートの変数を参照できます。 Log Serviceがアラート通知を送信する前に、Log Serviceは [コンテンツ] および [件名] フィールドで参照されている変数を実際の値に置き換えます。 たとえば、Log Serviceは ${project} を、設定されたアラートルールが属するプロジェクトの名前に置き換えます。

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

次の表に、使用可能な変数と変数の参照方法の例を示します。
変数説明データ型値の例参照の例
aliuidユーザーが属する Alibaba Cloud アカウントの ID です。 String117918664953 ****アラートがトリガーされたプロジェクトは、${aliuid} Alibaba Cloudアカウントに属しています。
alert_instance_idアラートがトリガーされたインスタンスのID。 Stringee16a8f435485f3f-5be6b81edc520-3d6 ****アラートがトリガーされたインスタンスのIDは ${alert_instance_id} です。
projectアラートルールが属するプロジェクトです。 Stringmy-projectアラートは ${project} プロジェクトでトリガーされます。
alert_idアラートルールの ID。 各アラートルールには、アラートルールが属するプロジェクト内で一意のIDが必要です。 String0fdd88063a611aa114938f9371daeeb6-1671a52 ****アラートルールのIDは ${alert_id} です。
alert_typeトリガーされるアラートのタイプ。
  • sls_alert: アラートは、Log Serviceのアラートルールに基づいてトリガーされます。
  • sls_pub: アラートはLog Serviceではなくアラートシステムから取り込まれます。
Stringsls_alertアラートのタイプは ${alert_type} です。
alert_nameアラートルールの名前です。 Stringnew2アラートルールの名前は ${alert_name} です。
next_eval_interval次の評価アクティビティが開始されるまでの時間。 int900次の評価アクティビティは ${next_eval_interval} 秒で始まります。
alert_time現在の評価アクティビティが開始される時刻。 int1616744734現在の評価アクティビティは ${alert_time} から始まります。
fire_timeアラートが初めてトリガーされた時刻。 int1616059834アラートは ${fire_time} で初めてトリガーされます。
statusアラートのステータス。
  • firing: アラートがトリガーされます。
  • resolved: アラートがクリアされました。
Stringfiringアラートのステータスは ${status} です。
resolve_timeアラートが作成された時刻。
  • アラートが発火状態にある場合、この変数の値は0です。
  • アラートが解決済み状態の場合、この変数の値は特定の時点になります。
int0アラートは ${resolve_time} でクリアされます。
resultsクエリのパラメーターと中間結果。 この変数の値は配列です。 この変数の値の詳細については、このトピックの「結果変数の説明」セクションを参照してください。 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": "Alert title","desc": "Alert description"}アラートの注釈は ${annotations} です。
severityアラートの重大度レベル。
  • 10: クリティカル
  • 8: 高い
  • 6: ミディアム
  • 4: 低い
  • 2: レポート
int10アラートの重大度は ${severity} です。
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アラートがトリガーされたリージョンのID。 Stringcn-hangzhouアラートは ${region} リージョンでトリガーされます。
drill_down_queryドリルダウン分析に使用するクエリ文です。 カスタム警告テンプレートの場合、この変数の値は空です。 この変数は、Log Audit Service、Cost Manager、およびSLB Log Centerのアラートテンプレートで使用できます。 String* | select count (1) as cntなし。
alert_urlアラートの URL です。 Stringhttps://sls.console.aliyun.com/lognext/project/test-xxxx/alert/alert-1617164106-940166アラートのURLは ${alert_url} です。
query_urlクエリで要求された最初のページのURL。 Stringhttps://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。 Stringhttps://sls.console.aliyun.com/lognext/project/test-xx/dashboard/internal-alert-analysisアラート履歴統計ダッシュボードのURLは ${alert_history_dashboard_url} です。
条件アラートルールのトリガー条件です。 Log Serviceは、トリガー条件の変数をアラートをトリガーする値に置き換えます。 各値は括弧 ([]) で囲まれています。 この変数の値は、Count:Quantity式; Condition:Matching式形式です。 Stringカウント:[5] > 3; 条件:[example.com]=='example.com'アラートルールのトリガー条件は ${condition} です。
raw_conditionアラートルールの元のトリガー条件です。 トリガー条件の変数は保持されます。 この変数の値は、Count:Quantity式; Condition:Matching式形式です。 StringCount :__ count__ > 3; 条件: host=='example.com'アラートルールの元のトリガー条件は ${raw_condition} です。
ダッシュボードアラートルールに関連付けられているダッシュボードの名前。 Stringmydashboardアラートルールに関連付けられているダッシュボードの名前は ${dashboard} です。
dashboard_urlアラートルールに関連付けられているダッシュボードのURL。 Stringhttps://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboardアラートルールに関連付けられているダッシュボードのURLは ${dashboard_url} です。
fire_結果アラートがトリガーされたデータレコード。 データセットに対する操作に応じて、最大100のデータレコードを返すことができます。 array
[{
    "ホスト":"example.com" 、
    "host__1":"example.com" 、
    "pv":"836" 、
    "slbid":"slb-02" 、
    "status":"200" },{
    "ホスト":"example.com" 、
    "host__1":"example.com" 、
    "pv":"836" 、
    "slbid":"slb-02" 、
    "status":"200"
},{
    "ホスト":"example.com" 、
    "host__1":"example.com" 、
    "pv":"836" 、
    "slbid":"slb-02" 、
    "status":"200"
},{
    "ホスト":"example.com" 、
    "host__1":"example.com" 、
    "pv":"836" 、
    "slbid":"slb-02" 、
    "status":"200"
},{
    "ホスト":"example.com" 、
    "host__1":"example.com" 、
    "pv":"780" 、
    "slbid":"slb-01" 、
    "status":"200"
}]
アラートは、${fire_results} のデータレコードに対してトリガーされます。
fire_results_countアラートがトリガーされたデータレコードの総数。 この変数の値は100より大きくてもよい。 たとえば、データセットに対してCROSS JOIN操作を実行すると、Log Serviceは100を超えるデータレコードに対してアラートをトリガーする場合があります。 int3アラートは、合計 ${fire_results_count} のデータレコードに対してトリガーされます。
fire_results_as_kvアラートがトリガーされるデータレコードの詳細。 データセットに対する操作に応じて、最大100のデータレコードを返すことができます。 この変数の値は、[key1:value1,key2:value2] 形式です。 array[hos t:wexample.com、pv:836、ステータス: 200][hos t:example.com、pv:780、ステータス: 200]アラートは、次のデータレコード ${fire_results_as_kv} に対してトリガーされます。

ポリシー変数の説明

policy変数で参照できる変数を次の表に示します。

変数説明データ型例:
alert_policy_idアラートルールで構成するアラートポリシーのID。 Stringsls.test-alert
action_policy_idアラートルールで設定したアクションポリシーのID。 この変数は、アラートポリシーを動的アクションポリシーに関連付ける場合にのみ使用できます。 Stringsls.test-action
repeat_intervalLog Serviceが繰り返しアラートを送信する時間間隔。 この変数は、アラートポリシーをアクションポリシーに関連付ける場合にのみ使用できます。 String4h

結果変数の説明

results変数で参照できる変数を次の表に示します。

変数説明データ型例:
role_arn使用するリソースのAlibaba Cloudリソース名 (ARN) 。 Stringacs:ram::1117918664953 ****:role/aliyunslsalertmonitorrole
store_type使用するデータの種類。 有効な値:
  • log: ログデータ
  • metric:時系列データ
  • meta: リソースデータ
Stringlog
region宛先Logstoreまたは宛先Metricstoreが存在するリージョン。

store_type変数の値がmetaの場合、region変数は空です。

Stringcn-hangzhou
project宛先Logstoreまたは宛先Metricstoreが属するプロジェクト。

store_type変数の値がmetaの場合、project変数は空です。

Stringsls.test-alert
ストア宛先Logstoreまたは宛先Metricstoreの名前。 Stringtest-logstore
query実行するクエリ文。The query statement that you want to execute. Stringerror | select count(1) as cnt
start_timeクエリの開始時刻。

store_type変数の値がmetaの場合、start_time変数は空です。

int2006-01-02 15:04:05
start_time_tsクエリの開始時刻。 この値は UNIX タイムスタンプです。

store_type変数の値がmetaの場合、start_time_ts変数は空です。

int1616741485
end_timeクエリの終了時刻。

store_type変数の値がmetaの場合、end_time_ts変数は空です。

int2006-01-02 15:04:05
end_time_tsクエリの終了時刻。 この値は UNIX タイムスタンプです。

store_type変数の値がmetaの場合、end_time_ts変数は空です。

int1616745085
dashboard_idクエリに関連付けられているダッシュボードの ID。 Stringmydashboard
raw_resultsクエリに応答して返される結果。 この変数の値は配列です。 最大100のデータレコードが返されます。 array
[{
    "ホスト":"example.com" 、
    "slbid":"slb-02" 、
    "status":"200"
},{
    "ホスト":"example.com" 、
    "slbid":"slb-01" 、
    "status":"200"
},{
    "ホスト":"example.com" 、
    "slbid":"slb-02" 、
    "status":"306"
},{
    "ホスト":"example.com" 、
    "slbid":"slb-02" 、
    "status":"200"
},{
    "ホスト":"example.com" 、
    "slbid":"slb-01" 、
    "status":"200"
},{
    "ホスト":"example.com" 、
    "slbid":"slb-02" 、
    "status":"200"
}]