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

Simple Log Service:アラート通知の参照ログコンテンツ

最終更新日:Aug 29, 2024

アラートテンプレートのラベル、アノテーション、fire_results、およびresults変数を使用して、アラート通知のログコンテンツを参照できます。

Simple Log Serviceは、アラート通知にアラートの詳細を表示できます。 これにより、アラート通知を受け取ったときにアラートの詳細を表示できます。 アラート通知にアラートの詳細を含めるには、アラートモニタリングルールを作成するときに必要なパラメーターを設定し、使用するアラートテンプレートにラベル、アノテーション、fire_results、およびresults変数を追加する必要があります。 詳細については、「新しいアラートテンプレートの変数」をご参照ください。

  • labels: アラートのラベル

  • annotations: アラートの注釈

  • fire_results: アラートがトリガーされたデータレコード

  • results: クエリパラメータと中間結果

たとえば、NGINXへのアクセスを監視する場合、次のクエリ文を使用して、返されるアクセスエラーを示すステータスコード、エラーが発生したマシンのIPアドレス、エラーが発生した回数などの情報を取得できます。 次に、情報に基づいてアラートモニタリングルールを作成し、アラートテンプレートの情報を参照できます。 ステータスコードが400以上の場合、Simple Log Serviceはステータスコード、エラーが発生したマシンのIPアドレス、およびエラーが発生した回数を含むアラート通知を送信します。

  • クエリ文

    status >=400 | SELECT status, __source__ AS ip, count(*) AS cnt GROUP BY status,ip
  • クエリ結果 Query results

ラベル変数を使用するUse the labels variable

アラートテンプレートのlabels変数を使用して、アラート通知のログコンテンツを参照できます。

  • アラートモニタリングルール

    アラートモニタリングルールを作成するときに、ラベルを追加したり、グループ評価を設定したりできます。 アラートがトリガーされると、ラベルに関する情報が生成され、アラートメッセージに含まれます。

    • グループ評価の設定: グループ評価を設定すると、グループ評価用に選択したフィールドがラベルに関する情報に自動的に追加されます。 詳細については、「グループ評価機能の使用」をご参照ください。

      重要

      グループ評価のフィールドを選択するときは、監視対象エンティティを識別でき、値を列挙できるフィールドを選択します。 たとえば、グループ評価でstatusフィールドを選択した場合、エラーログが記録されたときにステータスコードによって異なるアラートがトリガーされます。 監視対象エンティティを識別できないフィールドは選択しないでください。 そのようなフィールドを使用すると、多数のグループが生じる。 グループ内のトリガー条件が満たされると、アラートがトリガーされます。 多数のグループが存在する場合、アラートストームが発生する可能性があります。 この場合、重要なアラート情報を見逃す可能性があります。

    • ラベルの追加: ラベルは属性を識別します。 詳細については、「ラベル」をご参照ください。

    たとえば、ログソース、環境、ステータスコードなどの情報をアラートメッセージに追加する場合は、app:nginxラベルとenv:prodラベルを追加し、グループ評価用のstatusフィールドを選択します。 image

  • アラートメッセージ

    アラートがトリガーされると、Simple Log Serviceは次の情報を含むアラートメッセージを生成します。

    {
        "labels": {
            "app": "nginx",
            "env": "prod",
            "status": "404"
        }
    }
  • アラートンプレート

    labels変数をアラートテンプレートに追加して、アラート通知で指定されたログコンテンツを参照できます。 アラートテンプレートの作成方法の詳細については、「アラートテンプレートの作成」をご参照ください。

    Alert template

アノテーション変数を使用するUse the annotations variable

アラートテンプレートのannotations変数を使用して、アラート通知のログコンテンツを参照できます。

  • アラートモニタリングルール

    アラートモニタリングルールの作成時に、アノテーションに関する情報を手動で追加したり、アノテーションの自動追加をオンにして、アノテーションに関する情報を自動的に追加したりできます。 アラートがトリガーされると、アノテーションに関する情報が生成され、アラートメッセージに含まれます。 詳細については、「注釈」をご参照ください。

    説明

    Simple Log Serviceは、デフォルトで2つのアノテーションを提供します。

    たとえば、返されるアクセスエラーを示すステータスコード、エラーが発生したマシンのIPアドレス、エラーが発生した回数などの情報をアラートメッセージに追加する場合は、status :${ status}ip :${ ip}cnt :${ cnt} などの注釈を追加できます。

    • 注釈に関する情報を手動で追加する image

    • 自動注釈の追加をオンにして、注釈に関する情報を自動的に追加します image

  • アラートメッセージ

    アラートがトリガーされると、Simple Log Serviceは次の情報を含むアラートメッセージを生成します。

    {
        "annotations": {
            "title": "Alert is triggered by an NGINX access error",
            "desc": "The error that is indicated by the status code 400 occurred 15 times"
            "status": "400"
            "ip": "127.0.0.1"
            "cnt": "15"
            "__count__": "1"
        }
    }
  • アラートンプレート

    アノテーション変数をアラートテンプレートに追加して、アラート通知で指定されたログコンテンツを参照できます。 アラートテンプレートの作成方法の詳細については、「アラートテンプレートの作成」をご参照ください。

    Alert template

fire_results変数の使用

アラートテンプレートでfire_results変数を使用して、アラート通知のログコンテンツを参照できます。

  • アラートモニタリングルール

    Simple Log Serviceは、作成したアラートモニタリングルールに基づいてアラートメッセージを生成します。 image

  • アラートメッセージ

    アラートがトリガーされると、Simple Log Serviceは次の情報を含むアラートメッセージを生成します。 この情報には、返されるアクセスエラーを示すステータスコード、エラーが発生したマシンのIPアドレス、およびエラーが発生した回数が含まれます。

    {
        "fire_results": [
            { "status": "401", "ip": "127.0.0.1", "cnt": "3" },
            { "status": "400", "ip": "127.0.0.1", "cnt": "7" },
            { "status": "501", "ip": "127.0.0.1", "cnt": "4" },
            { "status": "404", "ip": "127.0.0.1", "cnt": "4" },
            { "status": "402", "ip": "127.0.0.1", "cnt": "6" },
            null
        ]
    }
  • アラートンプレート

    fire_results変数をアラートテンプレートに追加して、アラート通知で指定されたログコンテンツを参照できます。 アラートテンプレートの作成方法の詳細については、「アラートテンプレートの作成」をご参照ください。

    Alert template

結果変数を使用するUse the results variable

アラートテンプレートの結果変数を使用して、アラート通知のログコンテンツを参照できます。

  • アラートモニタリングルール

    Simple Log Serviceは、作成したアラートモニタリングルールに基づいてアラートメッセージを生成します。 image

  • アラートメッセージ

    アラートがトリガーされると、Simple Log Serviceは次の情報を含むアラートメッセージを生成します。 この情報には、返されるアクセスエラーを示すステータスコード、エラーが発生したマシンのIPアドレス、およびエラーが発生した回数が含まれます。

    説明

    アラートモニタリングルールに複数のクエリステートメントが含まれている場合、results配列には複数の項目が含まれます。 各アイテムはクエリ文に対応します。

    {
        "results": [{
            "store_type": "log",
            "region": "cn-hangzhou",
            "project": "test-alert",
            "store": "nginx-access-log",
            "query": "status >= 400 | select status, __source__ as ip, count(*) as cnt group by status, ip",
            "start_time": 1640006894,
            "end_time": 1640007014,
            "dashboard_id": "",
            "raw_results": [
                { "status": "401", "ip": "127.0.0.1", "cnt": "3" },
                { "status": "400", "ip": "127.0.0.1", "cnt": "7" },
                { "status": "501", "ip": "127.0.0.1", "cnt": "4" },
                { "status": "404", "ip": "127.0.0.1", "cnt": "4" },
                { "status": "402", "ip": "127.0.0.1", "cnt": "6" },
                null
            ],
            "raw_result_count": 6,
            "fire_result": {
                "status": "401",
                "ip": "127.0.0.1",
                "cnt": "3"
            },
            "has_sql": true,
            "truncated": false,
            "role_arn": ""
        }]
    }
  • アラートンプレート

    結果変数をアラートテンプレートに追加して、アラート通知で指定されたログコンテンツを参照できます。 アラートテンプレートの作成方法の詳細については、「アラートテンプレートの作成」をご参照ください。

    Alert template

テンプレート変数

{{ alert.results[0].raw_results | to_json }} などのアラートテンプレートでJSON形式の変数を参照すると、変数の内容がJSON文字列としてアラート通知に表示されます。 アラート通知のコンテンツを行ごとに表示するようにアラートテンプレートを設定するときに、サイクルメソッドを使用することもできます。 このように、内容は読みやすいです。 詳細については、「新しいアラートテンプレートの構文」をご参照ください。 例:

{%-アラートの結果。fire_results %}
-status: {{ result.status }}, count: {{ result.cn t }}
{%- endfor %} 

Simple Log Serviceでは、組み込み関数を使用してアラート通知の内容をフォーマットできます。 詳細については、「新しいアラートテンプレートの構文」および「アラートテンプレートの組み込み関数」をご参照ください。