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

Simple Log Service:カスタムクエリ文によるアラートログの分析

最終更新日:Jun 22, 2026

Simple Log Service (SLS) は、各アラートのライフサイクル全体をログエントリとして専用の Logstore に記録します。これらのログにクエリを実行することで、監視対象リソースの全体的なステータスと安定性を把握できます。本トピックでは、この専用 Logstore でカスタムクエリを実行してアラートログを分析する方法について説明します。

背景情報

SLS のアラート機能を初めて使用する際、リージョンを選択するプロンプトが表示されます。その後、システムは選択したリージョンに必要な SLS リソースを自動的に作成します。具体的には、[sls-alert-<Alibaba-Cloud-account-ID>-<region>] という名前のプロジェクトと、アラートログを格納するためのinternal-alert-center-log という名前の Logstore が作成されます。

説明

internal-alert-center-log Logstore は無料で提供され、デフォルトのインデックスが含まれています。

SLS は internal-alert-center-log Logstore を使用して、アラートのトリガーや通知などに関する統計を提供する組み込みダッシュボードを生成します。詳細については、「アラートセンターダッシュボード」をご参照ください。この Logstore で独自のクエリと分析文を実行して、アラートログのカスタム分析を実行することもできます。

ログトピック

アラートログのトピックは、そのステータスによって異なります。__topic__ フィールドの値に基づいて、アラートログのステータスを識別できます。次の表で、一般的なログトピックを説明します。

image

ログトピック

説明

__topic__: alert_state

データはアラート監視ルールに基づいて評価されます。

__topic__: alert_received

アラート管理システムがアラートを受信します。

__topic__: alert_routed

アラートが受信されると、アラートポリシーに基づいてルートごとにマージされます。

__topic__: alert_pre_filter

アラートが抑制またはサイレンスの段階に入ります。

__topic__: alert_silenced

アラートは抑制されるか、サイレンスされます。

__topic__: alert_pre_notify

アラートが通知送信の段階に入ります。

__topic__: alert_notified

アラート通知が送信されます。

__topic__: system_config

設定エラーが発生するとログが生成されます。

操作手順

  1. Log Serviceコンソールにログインします。

  2. [プロジェクト] セクションで、管理するプロジェクト (例:sls-alert-13****47-cn-hangzhou) をクリックします。

  3. ログ管理 > Logstores タブで、internal-alert-center-log をクリックします。

  4. Logstore のクエリと分析ページで、カスタムクエリを実行してアラートログを分析します。

    クエリ文は、検索文と分析文から構成され、検索文 | 分析文 の形式になります。クエリ文の構文の詳細については、「検索構文と関数」および「SQL 分析構文」をご参照ください。

    • 例 1:特定の期間内にアラートをトリガーしたアラート監視ルールの総数と、各アラート監視ルールのトリガー数を計算します。

      • クエリ文

        __topic__: alert_received |
        select
          "alert.project" as project,
          "alert.alert_name" as alert_name,
          count(*) as cnt
        group by
          project,
          alert_name
        order by
          cnt desc
      • クエリ結果には、プロジェクト、アラート監視ルールの名前、および対応するトリガー数が表示されます。

    • 例 2:特定の期間内に、通知方法ごとにアラート通知の送信が失敗した回数を計算します。

      • クエリ文

        __topic__: alert_notified and level: error |
        select
          "notifierConfig.type" as notificationType,
          count(*) as cnt
        group by
          notificationType
        order by
          cnt desc
      • クエリ結果には、各通知タイプとそれに対応するカウントが表示されます (例:Webhook が 77、DingTalk が 39)。

    • 例 3:アラート通知の失敗原因を確認します。

      • クエリ文

        __topic__: system_config
        and alert.alert_id: alert -1626423664 -868572 |
        select
          level,
          error,
          msg,
          "desc"
      • クエリと分析結果

        • クエリで結果が返された場合、設定に問題があることを示します。設定エラーの詳細については、「設定エラー」をご参照ください。結果には、levelerrormsgdesc 列が含まれます。たとえば、levelwarningerrorUserGroupEmptymsggroup sls.app.audit.builtin is emptydescthis group will not be notified の結果は、ユーザーグループ sls.app.audit.builtin が空であり、通知を受信しないことを示します。

        • クエリと分析結果にデータが含まれていない場合、指定された通知方法が無効である可能性があります。たとえば、指定された Webhook URL が無効であるか、指定された DingTalk チャットボットが削除されています。次のクエリ文を実行して、詳細な原因を確認できます。

          __topic__: alert_notified
          and level: error
          and alert.alert_id: alert -1626423664 -868572 |
          select
            error

          この例では、次のメッセージが返されます。このメッセージは、指定された Webhook URL が無効なため、アラート通知の送信に失敗したことを示しています。

          Unexpected status code 400, response: {"code":"InvalidParameter","message":"invalid uri:http://localhost Failed to connect to localhost port 80: Connection refused"}