すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:コンテンツテンプレートの変数 (新バージョン)

最終更新日:Nov 09, 2025

このトピックでは、新しいバージョンのコンテンツテンプレートで使用できる変数と、それらを参照する方法について説明します。

参照方法

重要
  • 変数を参照する場合、変数名は完全に一致している必要があります。

    • 参照された変数が存在しないか、参照が無効な場合、システムはデフォルトでそれを空の文字列に置き換えます。

    • 参照された変数の値がオブジェクトの場合、その値は JSON 文字列に変換されます。

  • テンプレート内の変数名には、大文字、小文字、数字、およびアンダースコア (_) のみを含めることができます。名前を数字で始めることはできません。

    • 変数名が標準ルールに従っている場合、{{alert.xxx}} を使用してその値を参照できます。

    • 変数名が __tag__:__namespace__ のように標準ルールに従っていない場合、{{alert.annotations["__tag__:__namespace__"] }} を使用してその値を参照できます。

アクションポリシーを設定するときは、コンテンツテンプレートを選択する必要があります。コンテンツテンプレートは、通知のコンテンツと件名を定義します。[コンテンツ] および [件名]/[タイトル] フィールドでは、{{ alert.xxx }} 形式を使用してテンプレート変数を参照できます。Simple Log Service がアラート通知を送信すると、[コンテンツ] および [件名]/[タイトル] フィールドのテンプレート変数を実際の値に置き換えます。たとえば、{{ alert.project }} は、アラートルールが属するプロジェクトの名前に置き換えられます。

image

制御フローとビルトイン関数を使用して、変数を操作および処理することもできます。テンプレートの構文とビルトイン関数の詳細については、「新しいコンテンツテンプレートの構文」および「ビルトインテンプレート関数」をご参照ください。

アラートプロパティ

変数

説明

データ型

値の例

参照例

aliuid

プロジェクトオーナーの Alibaba Cloud アカウント ID。

文字列

117918634953****

ユーザー {{ alert.aliuid }} のアラートルールがトリガーされました。

alert_instance_id

アラートをトリガーしたインスタンスの ID。

文字列

ee16a8f435485f3f-5be6b81edc520-3d6****

インスタンス ID は {{ alert.alert_instance_id }} です。

alert_id

アラートルールの ID。ID はプロジェクト内で一意である必要があります。

文字列

alert-12345

アラートルール ID は {{ alert.alert_id }} です。

alert_name

アラートルールの名前。

文字列

テストアラートルール

アラートルール {{ alert.alert_name }} がトリガーされました。

alert_type

アラートタイプ。

  • sls_alert: アラートはアラートルールによってトリガーされます。

  • sls_pub: アラートはアラート取り込みシステムからのものです。

  • sls_ml: アラートはインテリジェント検査によってトリガーされます。

文字列

sls_alert

アラートタイプは {{ alert.alert_type }} で、フォーマット後は {{ alert.alert_type | format_type }} と表示されます。

region

リージョン。

文字列

cn-hangzhou

アラートは {{ alert.region }} リージョンでトリガーされました。

project

アラートルールが属するプロジェクト。

文字列

my-project

{{ alert.project }} プロジェクトのアラートルールがトリガーされました。

next_eval_interval

次の評価間隔 (秒)。

整数

300

次の評価は {{ alert.next_eval_interval }} 秒後に開始されます。

alert_time

現在の評価の時刻。

整数

1616744734

現在のアラート評価時刻は {{ alert.alert_time }} で、フォーマット後は {{ alert.alert_time | format_date }} と表示されます。

fire_time

アラートが最初にトリガーされた時刻。

整数

1616059834

アラートは {{ alert.fire_time }} に最初にトリガーされ、フォーマット後は {{ alert.fire_time | format_date }} と表示されます。

status

アラートステータス。

  • firing: アラートがトリガーされています。

  • resolved: アラートは回復しました。

文字列

firing

アラートステータスは {{ alert.status }} で、フォーマット後は {{ alert.status | format_status }} と表示されます。

resolve_time

アラートが回復した時刻。

  • アラートステータスが firing の場合、値は 0 です。

  • アラートステータスが resolved の場合、値は特定の回復時刻です。

整数

0

アラートの回復時刻は {{ alert.resolve_time }} で、フォーマット後は {{ alert.resolve_time | format_date }} と表示されます。

severity

アラートの重大度。

  • 10: 致命的

  • 8: 高

  • 6: 中

  • 4: 低

  • 2: レポートのみ

整数

10

アラートの重大度は {{ alert.severity }} で、フォーマット後は {{ alert.severity | format_severity }} と表示されます。

labels

ラベルのリスト。

マップ

{"env":"test"}

アラートのラベルは {{ alert.labels | to_list }}

annotations

アノテーションのリスト。

マップ

{ "title": "Alert Title","desc": "Alert Description" }

アラートのアノテーションは {{ alert.annotations | to_list }} です。

results

クエリパラメーターと中間結果 (配列形式)。この変数の値の詳細については、「QueryData 構造」をご参照ください。

配列

このトピックの最後にある付録をご参照ください。

最初のクエリの開始時刻は {{ alert.results[0].start_time }} です。終了時刻は {{ alert.results[0].end_time }} です。count の値は {{ alert.results[0].fire_result.cnt }} です。クエリ文は {{ alert.results[0].query }} です。

fire_results

アラートをトリガーするデータ。これは、セット操作後のデータです。最大 100 件のデータエントリが返されます。

fire_results 変数の値が 2 KB を超え、クエリ結果のフィールドの長さが 1 KB を超える場合、超過部分は切り捨てられます。切り捨てられたデータの処理方法の詳細については、「アラートがトリガーされるログが多すぎて、アラート通知にすべてのログが表示されない場合はどうすればよいですか?」をご参照ください。

配列

このトピックの最後にある付録をご参照ください。

アラートがトリガーされたときに生成されたデータは {{ alert.fire_results | to_json }} です。

fire_results_count

アラートをトリガーするデータエントリの総数。この数は 100 を超えることがあります。たとえば、デカルト積演算後のエントリの総数です。

整数

3

アラートがトリガーされたときに生成されたデータエントリの総数は {{ alert.fire_results_count }} です。

condition

アラートをトリガーする評価式。この式では、設定した変数がアラートをトリガーする値に置き換えられます。値は角括弧 (`[]`) で囲まれます。フォーマットは Count:Quantity expression;Condition:Matching expression です。

文字列

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

アラート評価式は {{ alert.condition }} です。

raw_condition

変数が実際の値に置き換えられていない元の評価式。フォーマットは Count:Quantity expression;Condition:Matching expression です。

文字列

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

元の評価式は {{ alert.raw_condition }} です。

policy

アラートポリシーまたはアクションポリシー。この変数の値の詳細については、「ポリシー構造」をご参照ください。

マップ

このトピックの最後にある付録をご参照ください。

アラートポリシー ID は {{ alert.policy.alert_policy_id }} です。

dashboard

アラートに関連付けられているダッシュボードの名前。

文字列

mydashboard

アラートに関連付けられているダッシュボードの名前は {{ alert.dashboard }} です。

alert_url

アラート詳細ページの URL。

文字列

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

アラート URL は {{ alert.alert_url }} です。

query_url

クエリ/分析の最初のクエリページの URL。

文字列

https://sls.console.alibabacloud.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcyBjbn****&queryTimeType=99&startTime=1617175089

クエリ/分析の最初のクエリページの URL は {{ alert.query_url }} です。

alert_history_dashboard_url

アラート履歴統計レポートの URL。

文字列

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

アラート履歴統計レポートの URL は {{ alert.alert_history_dashboard_url }} です。

dashboard_url

アラートに関連付けられているダッシュボードの URL。

文字列

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

アラートに関連付けられているダッシュボードの URL は {{ alert.dashboard_url }} です。

fingerprint

アラートの指紋。詳細については、「指紋に基づいてアラートを重複排除する」をご参照ください。

文字列

478325709134bc5c

アラートの指紋は {{ alert.fingerprint }} です。

signin_url

コンソールにログオンせずにアラートの詳細を表示するために使用できる URL。詳細については、「ログオンせずにアラートの詳細を表示する」をご参照ください。

文字列

https://sls.console.alibabacloud.com/console/AlertAjax/slsSignIn.json?token=xxxx

[詳細を表示]({{ alert.signin_url }})

ポリシー構造

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

変数

説明

データ型

値の例

alert_policy_id

アラートポリシーの ID。

文字列

sls.test-alert

action_policy_id

アラートルールで指定されたアクションポリシーの ID。この変数は、アラートポリシーが動的アクションポリシーを使用している場合にのみ使用できます。

文字列

sls.test-action

repeat_interval

繰り返し間隔。この変数は、アラートポリシーが動的アクションポリシーを使用している場合にのみ使用できます。

文字列

4h

QueryData 構造

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

変数

説明

データ型

値の例

store_type

ストレージタイプ。

  • log: ログ

  • メトリックは時系列データです。

  • meta: リソースデータ

文字列

log

region

クエリのターゲットデータベースが存在するリージョン。

ストレージタイプが `meta` の場合、この変数は空です。

文字列

cn-hangzhou

project

クエリのターゲットデータベースが存在するプロジェクト。

ストレージタイプがリソースデータの場合、変数値は空です。

文字列

sls-test-alert

store

クエリのターゲットデータベースの名前。

文字列

test-logstore

query

クエリ文。

文字列

error | select count(1) as cnt

start_time

クエリする時間範囲の開始。

ストレージタイプが `meta` の場合、この変数は空です。

整数

1616741485

end_time

クエリ対象期間の終了時刻。

ストレージタイプがリソースデータの場合、変数の値は空です。

整数

1616745085

raw_results

クエリされたデータレコード (配列形式)。最大 100 行が返されます。

raw_results 変数の値が 2 KB を超え、クエリ結果のフィールドの長さが 1 KB を超える場合、超過部分は切り捨てられます。

配列

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

raw_results_count

クエリされたデータレコードの総数。この数は 100 を超えることがあります。

整数

20

fire_result

アラートをトリガーする結果セットの最初のデータレコード。結果セットには複数のレコードが含まれる可能性があるため、このパラメーターは最初のレコードのみを返します。

マップ

{
    "host": "example.com",
    "slbid": "slb-02",
    "status": "200"
}

query_url

クエリの URL。

ストレージタイプが `meta` の場合、この変数は空です。

文字列

https://sls.console.alibabacloud.com/lognext/project/test-xxx/logsearch/test-alert-access?encode=base64&endTime=1617175989&queryString=KiB8IHNlbGVjdCBjb3VudCgxKSBhcy*******&queryTimeType=99&startTime=1617175089

dashboard_url

クエリに関連付けられているダッシュボードの URL。

文字列

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

role_arn

使用されるサービロールの Alibaba Cloud Resource Name (ARN)。

文字列

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"
    }

次の例は、新しいコンテンツテンプレートを使用して通知コンテンツを定義する方法を示しています。

  • アラートコンテンツ:

    {
        "alert_id": "test-alert",
        "alert_name": "PV/UV Alert",
        "project": "project-1",
        "status": "firing",
        "severity": 6,
        "labels": {
            "app": "nginx",
            "host": "host-1"
        },
        "results": [
            {
                "project": "project-1",
                "logstore": "logstore-1",
                "query": "* | select count(*) as pv"
            },
            {
                "project": "project-2",
                "logstore": "logstore-2",
                "query": "* | select count(distinct user_id) as uv"
            }
        ]
    }
  • アラートテンプレートの構成:

    - Alert ID: {{ alert.alert_id }}
    - Alert Name: {{ alert.alert_name }}
    - Project: {{ alert.project }}
    - Status: {% if alert.status == "firing" %}FIRING{% else %}RESOLVED{% endif %}
    - Labels:
    {%- for key, val in alert.labels.items() %}
        - {{ key }}: {{ val }}
    {%- endfor %}
    - Query: {{ alert.results[0].query }}
  • 出力結果:

    - Alert ID: test-alert
    - Alert Name: PV/UV Alert
    - Project: project-1
    - Status: FIRING
    - Labels:
        - app: nginx
        - host: host-1
    - Query: * | select count(*) as pv