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

Simple Log Service:クエリ文を指定する

最終更新日:Jun 06, 2025

Simple Log Service は、関連付けられた監視とデータなしアラートをサポートしています。このトピックでは、関連付けられた監視とデータなしアラートを構成する方法について説明します。

監視の適時性

  1. 監視ワークフロー

    システムは、アラートルールで指定した時間範囲と [チェック頻度] パラメーターの値に基づいて、クエリ文を実行します。クエリと分析の結果が返された後、システムはアラートルールのトリガー条件に基づいて結果を評価します。トリガー条件が満たされると、システムはアラートを生成します。

  2. 問題分析

    • データのインデックス作成の遅延: Simple Log Service に書き込まれたデータは、短時間の遅延後にのみクエリできます。その結果、遅延が短い場合でも、一部のデータを取得できない場合があります。

      たとえば、Simple Log Service は、クエリ文で 1 Minute(Relative) の時間範囲を使用し、[チェック頻度] パラメーターが Fixed Interval 1 Minutes に設定されているアラートルールに基づいて、12:03:30 にチェックを開始します。この場合、ステートメントは [12:02:30,12:03:30) の時間範囲のデータをクエリします。ただし、データが 12:03:29 に Simple Log Service に書き込まれた場合、ステートメントはデータの取得に失敗する可能性があります。

    • クエリの不正確さ: ログが異なる時点で生成されても、同じ分に Simple Log Service に書き込まれた場合、ログのインデックスは同じになります。その結果、後で生成されたログのインデックスが早くなる可能性があります。

      たとえば、Simple Log Service は、クエリ文で 1 Minute(Relative) の時間範囲を使用するアラートルールに基づいて、12:03:30 にチェックを開始します。この場合、ステートメントは [12:02:30,12:03:30) の時間範囲のデータをクエリします。 2 つのログが 12:02:20 と 12:02:50 に生成されたが、12:02:50 に Simple Log Service に書き込まれた場合、ログは 12:02:20 を使用してインデックスを作成でき、ステートメントは [12:02:30,12:03:30) の時間範囲に基づいてログを取得できません。

  3. 最適化の提案

    • アラートの精度を高める必要がある場合は、次の提案を参照して、繰り返されるアラートと偽陰性を排除してください。

      • データのインデックス作成の遅延に関する提案: [クエリ統計] ダイアログボックスで [時間範囲] パラメーターを構成する場合は、[相対] の下の [カスタム] をクリックし、[開始日時] フィールドと [終了日時] フィールドに現在の時刻より前の値を指定します。たとえば、[時間範囲] パラメーターを 70Seconds Ago~10Seconds Ago(Relative) に設定します。 10 秒のバッファ時間は、インデックス作成速度が遅いため一部のデータが取得されないという問題を防ぐのに役立ちます。

      • クエリの不正確さに関する提案: [クエリ統計] ダイアログボックスで [時間範囲] パラメーターを構成する場合は、時間枠を選択します。たとえば、[時間範囲] パラメーターを 1 Minute(Time Frame)、5 Minute(Time Frame)、または 1 Hour(Time Frame) に設定します。次に、チェック頻度 パラメーターを選択した時間枠と同じ値に設定します。たとえば、[チェック頻度] パラメーターを Fixed Interval 1 Minutes、Fixed Interval 5 Minutes、または Fixed Interval 1 Hours に設定します。

    • アラートの適時性を重視する場合は、次の提案を参照して、できるだけ早くアラートを受信してください。ただし、この場合、重複したアラートが生成される可能性があります。

      • データのインデックス作成の遅延に関する提案: [クエリ統計] ダイアログボックスで [時間範囲] パラメーターを構成する場合は、[相対] の下の [カスタム] をクリックし、[開始日時] フィールドに現在の時刻より前の値を指定します。たとえば、[開始日時] フィールドに 70 Seconds Ago を指定します。

      • クエリの不正確さに関する提案: [クエリ統計] ダイアログボックスで [時間範囲] パラメーターを構成する場合は、前の分を時間範囲に含めます。たとえば、[時間範囲] パラメーターを 90Seconds(Relative) に設定します。次に、チェック頻度 パラメーターを Fixed Interval 1 Minutes に設定します。

複数のクエリおよび分析操作の結果を関連付ける

Simple Log Service のアラートシステムでは、クエリおよび分析操作の結果はセットと呼ばれます。関連付けられた監視には複数のセットを使用できます。

多集合操作

重要
  • Simple Log Service は、最大 3 つのセットに基づく関連付けられた監視をサポートしています。

  • デフォルトでは、クエリおよび分析操作の結果の最初の 1,000 行のデータのみがセット操作に使用されます。 3 つのクエリおよび分析操作を指定し、[セット操作] パラメーターを [マージなし] 以外の値に設定した場合、各クエリおよび分析操作の結果の最初の 100 行のデータのみが使用されます。

  • 3 つのセットが生成された場合、システムは最初の 2 つのセットでセット操作を実行し、最初のセット操作の結果と 3 番目のセットでセット操作を実行します。例:

    • セット A LEFT JOIN セット B LEFT JOIN セット C: システムは、セット A とセット B で LEFT JOIN 操作を実行します。結果が取得された後、システムは結果とセット C で LEFT JOIN 操作を実行します。

    • セット A JOIN セット B INNER JOIN セット C: システムは、セット A とセット B で JOIN 操作を実行します。結果が取得された後、システムは結果とセット C で INNER JOIN 操作を実行します。

    • セット A LEFT EXCLUDE JOIN セット B マージなし セット C: システムは、セット A とセット B で LEFT EXCLUDE JOIN 操作を実行します。システムは、最終的なクエリおよび分析結果を取得するときにセット C を無視します。

次の表に、Simple Log Service でサポートされているセット操作の種類を示します。

セット操作

説明

マージなし

不合并

2 つのセットは関連付けられていません。

セット A はクエリおよび分析結果として使用されます。セット B は、アラートテンプレート変数のリファレンスソースとして使用されます。

クロス結合

なし

集合 A の任意のデータが集合 B の任意のデータと結合されます。ほとんどの場合、この集合演算は、さらなる評価のためにデータをフィルタリングするために使用されます。

結合

拼接

集合 B のデータが集合 A に追加され、フィールドによって位置合わせされます。

内部結合

内联

集合 B に存在するデータのみが集合 A に保持されます。集合 B は集合 A のホワイトリストです。

左外部結合

左联

集合 B の一部のデータが集合 A に追加されます。集合 B は集合 A のディメンションテーブルです。

RIGHT JOIN

右联

集合 A の一部のデータが集合 B に追加されます。集合 A は集合 B のディメンションテーブルです。

完全外部結合

全联

集合 A と集合 B は互いに補集合です。

左外部結合を除外

左斥

集合 B に存在するデータは集合 A から削除されます。集合 B は集合 A のブラックリストです。

右外部結合

右斥

集合 A に存在するデータは集合 B から削除されます。集合 A は集合 B のブラックリストです。

マージなし

  • 要件

    NGINX アクセスログが監視されます。 15 分間の 5XX の状態コードのエラー数が 500 を超えると、アラートがトリガーされ、アラート通知が送信されます。 アラート通知には、アラートがトリガーされたホストに関する情報が含まれます。

  • 構成不拼接

  • 結果

    • クエリ文 0 の結果

      この文は、15 分間の 5XX の状態コードのエラー数をクエリします。

      カウント

      1234

    • クエリ文 1 の結果

      この文は、15 分間で 5XX の状態コードのエラー数が最も多い上位 5 つのホストと、各ホストのエラー数をクエリします。

      ホスト

      ページビュー

      host1

      60

      host2

      55

      host3

      47

      host4

      45

      host5

      30

    • 集合演算の結果

      この例では、[集合演算] パラメーターは [マージなし] に設定されています。 集合演算の結果は、クエリ文 0 の結果です。

クロス結合

  • 例 1

    • 要件

      Object Storage Service (OSS) アクセスログと Server Load Balancer (SLB) アクセスログが監視されます。 OSS で状態コードが 4XX のエラー数と SLB で状態コードが 5XX のエラー数は、15 分間隔でクエリされます。 エラーの合計数が 1,000 に達すると、アラートがトリガーされます。

    • 構成笛卡尔积

    • 結果

      • クエリ文 0 の結果

        この文は、15 分間で OSS の状態コードが 4XX のエラー数をクエリします。

        ページビュー

        890

      • クエリ文 1 の結果

        この文は、15 分間で SLB の状態コードが 5XX のエラー数をクエリします。

        ページビュー

        567

      • 集合演算の結果

        この例では、[集合演算] パラメーターは [クロス結合] に設定されています。 次の表は、集合演算の結果を示しています。

        $0.pv

        $1.pv

        890

        567

  • 追加の例

    • クエリ文 0 の結果

      a

      b

      a1

      b1

      a2

      b2

      a5

      b5

    • クエリ文 1 の結果

      a

      c

      a1

      c1

      a3

      c3

    • 集合演算の結果

      この例では、[集合演算] パラメーターは [クロス結合] に設定されています。 次の表は、集合演算の結果を示しています。

      $0.a

      b

      $1.a

      c

      a1

      b1

      a1

      c1

      a1

      b1

      a3

      c3

      a2

      b2

      a1

      c1

      a2

      b2

      a3

      c3

      a5

      b5

      a1

      c1

      a5

      b5

      a3

      c3

結合

  • 例 1

    • 要件

      2 つのログストアを使用して、NGINX アクセスログを保存します。 1 つのログストアは中国 (北京) リージョンにあり、もう 1 つのログストアは中国 (上海) リージョンにあります。 状態コードが 5XX のエラーが 30 を超えるホストの数は、15 分間隔でクエリされます。 2 つのログストアで指定された条件を満たすホストの数が 10 を超えると、アラートがトリガーされます。

    • 構成拼接

    • 結果

      • クエリ文 0 の結果

        この文は、15 分間で状態コードが 5XX のエラーが 30 を超えるホストの数と、各ホストのエラー数をクエリします。

        ホスト

        ページビュー

        host1

        60

        host2

        55

        host3

        47

        host4

        45

        host5

        31

      • クエリ文 1 の結果

        この文は、15 分間で状態コードが 5XX のエラーが 30 を超えるホストの数と、各ホストのエラー数をクエリします。

        ホスト

        ページビュー

        hosta

        70

        hostb

        45

        hostc

        44

        hostd

        42

      • 集合演算の結果

        この例では、[集合演算] パラメーターは [結合] に設定されています。 次の表は、集合演算の結果を示しています。

        ホスト

        ページビュー

        host1

        60

        host2

        55

        host3

        47

        host4

        45

        hosg5

        31

        hosta

        70

        hostb

        45

        hostc

        44

        hostd

        42

  • 追加の例

    • 2 つのクエリと分析結果のフィールドが完全に一致しない場合、結合操作の実行後、一致しないフィールドは空のままになります。

      • クエリ文 0 の結果

        a

        b

        a1

        b1

        a2

        b2

      • クエリ文 1 の結果

        b

        c

        b1

        c1

        b2

        c2

      • 集合演算の結果

        a

        b

        c

        a1

        b1

        なし

        a2

        b2

        なし

        なし

        b1

        c1

        なし

        b2

        c2

    • 集合 A 結合 集合 B 内部結合 集合 C: 3 つのクエリ文を指定すると、システムは最初の 2 つの文の結果に対して集合演算を実行します。 最初の集合演算の結果が得られた後、システムは最初の集合演算の結果と 3 番目の文の結果に対して集合演算を実行します。

      • クエリ文 0 の結果

        a

        b

        a1

        b1

        a2

        b2

      • クエリ文 1 の結果

        a

        b

        a1

        b11

        a2

        b22

        a3

        b33

      • クエリ文 0 とクエリ文 1 の結果に対する集合演算の結果

        この例では、[集合演算] パラメーターは [内部結合] に設定され、$0.a == $1.a が指定されています。 次の表は、集合演算の結果を示しています。

        a

        $0.b

        $1.b

        a1

        b1

        b11

        a2

        b2

        b22

      • クエリ文 2 の結果

        a

        b

        a3

        b333

        a4

        b444

      • 集合演算の結果

        この例では、[集合演算] パラメーターは [結合] に設定されています。 次の表は、集合演算の結果を示しています。

        説明

        さらに多くの例については、WordPress REST API ドキュメントを参照してください。

        a

        $0.b

        $1.b

        a1

        b1

        b11

        a2

        b2

        b22

        a3

        b333

        なし

        a4

        b444

        なし

内部結合

  • 例 1

    • 要件

      指定されたバケットで状態コードが 5XX のエラー数が監視されます。 15 分間の状態コードが 5XX のエラー数が 1,000 を超えると、アラートがトリガーされます。この要件を満たすには、バケット ホワイトリストを維持するためにリソースデータを追加する必要があります。

    • 構成内联

    • 結果

      • クエリステートメント 0 の結果

        このステートメントは、15 分以内に状態コードが 5XX であるエラーが 1,000 を超えるバケットをクエリします。

        バケット

        pv

        bucket_01

        1600

        bucket_02

        1550

        bucket_03

        1470

        bucket_04

        1450

      • クエリステートメント 1 の結果

        次の表は、バケットのリソースデータを示しています。

        バケット

        説明

        bucket_03

        開発チーム向け

        bucket_04

        テストチーム向け

        bucket_05

        サービスチーム向け

        bucket_06

        サポートチーム向け

      • 集合演算の結果

        この例では、[集合演算] パラメーターは [内部結合] に設定され、$0.bucket == $1.bucket が指定されています。次の表は、集合演算の結果を示しています。

        バケット

        pv

        説明

        bucket_03

        1470

        開発チーム向け

        bucket_04

        1450

        テストチーム向け

  • 例 2

    • 要件

      NGINX アクセスログを格納するために 2 つのログストアが使用されます。1 つのログストアは中国 (北京) リージョンにあり、もう 1 つのログストアは中国 (上海) リージョンにあります。状態コードが 5XX であるエラーが 30 を超えるクライアントは、15 分間隔でクエリされます。両方のログストアに状態コードが 5XX のエラーがあり、中国 (北京) リージョンのログストアのエラー数が中国 (上海) リージョンのログストアのエラー数よりも大きい場合、アラートがトリガーされます。

    • 構成内联

    • 結果

      • クエリステートメント 0 の結果

        このステートメントは、15 分以内に中国 (北京) リージョンのログストアで状態コードが 5XX であるエラーが 30 を超えるクライアントと、各クライアントのエラー数をクエリします。

        client_ip

        pv

        192.0.2.4

        60

        192.0.2.5

        55

        192.0.2.6

        47

        192.0.2.7

        45

        192.0.2.8

        31

      • クエリステートメント 1 の結果

        このステートメントは、15 分以内に中国 (上海) リージョンのログストアで状態コードが 5XX であるエラーが 30 を超えるクライアントと、各クライアントのエラー数をクエリします。

        client_ip

        pv

        192.0.2.5

        70

        192.0.2.6

        45

        192.0.2.7

        44

        192.0.2.8

        42

        192.0.2.9

        42

      • 集合演算の結果

        この例では、[集合演算] パラメーターは [内部結合] に設定され、$0.client_ip == $1.client_ip$0.pv > $1.pv が指定されています。次の表は、集合演算の結果を示しています。

        client_ip

        pv

        192.0.2.6

        47

        192.0.2.7

        45

  • 追加の例

    クエリステートメント 0 の結果のフィールドとクエリステートメント 1 の結果のフィールドは関連付けられていませんが、同じ名前です。指定された集合演算の結果の 2 つのフィールドには、自動的にプレフィックス $0 と $1 が付けられます。

    • クエリステートメント 0 の結果

      a

      b

      c

      d

      a1

      b1

      c1

      d1

      a2

      b2

      c2

      d2

      a3

      b3

      c3

      d3

    • クエリステートメント 1 の結果

      a

      b

      c

      a1

      b11

      c11

      a2

      b22

      c22

    • 集合演算の結果

      この例では、[集合演算] パラメーターは [内部結合] に設定され、$0.a == $1.a が指定されています。次の表は、集合演算の結果を示しています。

      a

      $0.b

      $0.c

      d

      $1.b

      $1.c

      a1

      b1

      c1

      d1

      b11

      c11

      a2

      b2

      c2

      d2

      b22

      c22

LEFT JOIN

  • クエリステートメント 0 の結果

    a

    b

    a1

    b1

    a2

    b2

    a3

    b3

  • クエリステートメント 1 の結果

    a

    b

    c

    a1

    b11

    c1

    a2

    b22

    c2

  • 集合演算の結果

    この例では、[集合演算] パラメーターが [LEFT JOIN] に設定され、$0.a == $1.a が指定されています。次の表は、集合演算の結果を示しています。

    a

    $0.b

    $1.b

    c

    a1

    b1

    b11

    c1

    a2

    b2

    b22

    c2

    a3

    b3

    なし

    なし

RIGHT JOIN

  • クエリステートメント 0 の結果

    a

    b

    c

    a1

    b11

    c1

    a2

    b22

    c2

  • クエリステートメント 1 の結果

    a

    b

    a1

    b1

    a2

    b2

    a3

    b3

  • 集合演算の結果

    この例では、[集合演算] パラメーターが [RIGHT JOIN] に設定され、$0.a == $1.a が指定されています。次の表に、集合演算の結果を示します。

    a

    $0.b

    c

    $1.b

    a1

    b11

    c1

    b1

    a2

    b22

    c2

    b2

    a3

    なし

    なし

    b3

FULL JOIN

  • クエリステートメント 0 の結果

    a

    b

    c

    a1

    b1

    c1

    a2

    b2

    c2

    a5

    b5

    c3

  • クエリステートメント 1 の結果

    a

    b

    d

    a1

    b11

    d1

    a2

    b22

    d2

    a3

    b33

    d3

  • 集合演算の結果

    この例では、[集合演算] パラメーターが [FULL JOIN] に設定され、$0.a == $1.a が指定されています。次の表に、集合演算の結果を示します。

    a

    $0.b

    c

    $1.b

    d

    a1

    b1

    c1

    b11

    d1

    a2

    b2

    c2

    b22

    d2

    a5

    b5

    c3

    なし

    なし

    a3

    なし

    なし

    b33

    d3

LEFT EXCLUDE JOIN

  • 要件

    指定されていないバケットのステータスコードが 5XX のエラー数が監視されます。 15 分間のステータスコードが 5XX のエラー数が 1,000 を超えると、アラートがトリガーされます。この要件を満たすには、バケットブラックリストを維持するためのリソースデータを追加する必要があります。

  • 構成左斥

  • 結果

    • クエリステートメント 0 の結果

      このステートメントは、15 分以内にステータスコードが 5XX であるエラーが 1,000 を超えるバケットをクエリします。

      バケット

      pv

      bucket_01

      60

      bucket_02

      55

      bucket_03

      47

      bucket_04

      45

    • クエリステートメント 1 の結果

      次の表は、バケットのリソースデータを示しています。

      バケット

      説明

      bucket_03

      開発チーム向け

      bucket_04

      テストチーム向け

    • 集合演算の結果

      この例では、[集合演算] パラメーターが [LEFT EXCLUDE JOIN] に設定され、$0.bucket == $1.bucket が指定されています。次の表は、集合演算の結果を示しています。

      バケット

      pv

      bucket_01

      60

      bucket_02

      55

右外部結合

  • 要件

    指定されていないバケットで状態コードが 5XX のエラーの数が監視されます。 15 分間の状態コードが 5XX のエラーの数が 1,000 を超えると、アラートがトリガーされます。この要件を満たすには、バケット ブラックリストを維持するためにリソースデータを追加する必要があります。

  • 構成右斥

  • 結果

    • クエリ文 0 の結果

      次の表に、バケットのリソースデータを示します。

      バケット

      説明

      bucket_03

      開発チーム向け

      bucket_04

      テストチーム向け

    • クエリ文 1 の結果

      クエリ文は、15 分以内に状態コードが 5XX のエラーが 1,000 を超えるバケットをクエリします。

      バケット

      pv

      bucket_01

      60

      bucket_02

      55

      bucket_03

      47

      bucket_04

      45

    • 集合演算の結果

      この例では、[集合演算] パラメーターが [RIGHT EXCLUDE JOIN] に設定され、$0.bucket == $1.bucket が指定されています。次の表に、集合演算の結果を示します。

      バケット

      pv

      bucket_01

      60

      bucket_02

      55

データなしアラート

コレクション処理中にデータ損失が発生した場合、Simple Log Service はデータを受信せず、この問題は気付かれない可能性があります。そのため、Simple Log Service は、この種の問題に対してアラート通知を送信するデータなしアラート機能を提供します。たとえば、各ホストの CPU メトリックを監視するアラートルールを構成します。次の条件が満たされると、アラートがトリガーされ、アラート通知が送信されます。

  • ホストの CPU 使用率が 95% を超えています。

  • クエリおよび分析操作に対してデータが返されません。

次の説明に基づいてアラートルールを構成します。

  • [クエリ統計]: ホストの CPU 使用率をクエリするために次の文を指定します。

    * | select promql_query_range('cpu_util') from metrics limit 1000
  • [トリガー条件]: [データが式と一致する] を選択し、[値 > 95] を入力して、[重大度: 中] を選択します。

    クエリおよび分析結果の [値] フィールドが 95 より大きい場合、中程度の重大度のアラートがトリガーされます。

  • [連続トリガーのしきい値]: 指定されたトリガー条件が満たされた連続回数がこのパラメーターの値に達すると、アラートがトリガーされます。

  • [データなしアラート]: [データなしアラート] をオンにします。次に、重大度と注釈の追加パラメーターを構成します。

    データなしアラートをオンにすると、データが返されない連続回数が連続トリガーのしきい値パラメーターの値を超えた場合にアラートがトリガーされます。

    データなしアラートをオンにする場合は、この機能に個別の重大度と注釈を指定します。

次の図は構成を示しています。

无数据告警