このトピックでは、評価式を使用してトリガー条件を指定する方法について説明します。 また、関連する注意事項と制限事項についても説明します。

Log Service では、アラートモニタリングルールでトリガー条件を指定する際に評価式を使用できます。 たとえば、[トリガー条件][データが式に一致] (評価式に一致) に設定。 クエリ結果のデータが指定された評価式に一致すると、アラートがトリガーされます。 評価式では、変数と論理演算子を使用できます。 評価式の構文については、「評価式の構文」をご参照ください。

変数

クエリ結果に対して実行される集合演算の結果が評価されます。 CROSS JOIN および LEFT JOIN 操作を実行できます。
  • 複数のクエリ結果に重複するフィールドが含まれていない場合は、特定のフィールドを引用できます。 この場合、評価式のフィールドに0、$1、$2 などのプレフィックスを追加する必要はありません ( 例:name == 'sls')。
  • 複数のクエリ結果に重複するフィールドが含まれている場合は、特定のフィールドを引用できます。 この場合、評価式のフィールドに0、$1、$2 などのプレフィックスを追加する必要があります ( 例: $0.name == 'sls' || $1.name == 'ecs')。

    詳細については、「複数集合の演算」をご参照ください。

データ型 クエリ文 説明
ログ SELECT 句を含まない文 ログのクエリには、検索文のみ使用されます。

トリガー条件に評価式を指定した場合、クエリ結果のフィールドを引用できます。

SELECT * FROM ログを含むクエリ文 トリガー条件に評価式を指定した場合、[分析の有効化] スイッチがオンになっているすべてのフィールドを引用できます。
SELECT * FROM (SELECT...) を含むクエリ文 トリガー条件に評価式を指定した場合、指定された SELECT サブクエリのフィールドを引用できます。
時系列データ SELECT promql(...) を含むクエリ文 promql_query(string) または promql_query_range(string, string) 関数を使用して固定フィールドを返すことができます。 固定フィールドには、メトリック、ラベル、時刻、および値のフィールドです。 Log Serviceは、ラベルフィールドをマップ形式で展開します。

トリガー条件に評価式を指定すると、メトリック、ラベル、時刻、値のフィールドを引用できます。 ラベルフィールドのサブフィールドを引用することもできます。

SELECT a, b FROM (SELECT promql(...)) を含むクエリ文 トリガー条件に評価式を指定した場合、[分析の有効化] スイッチがオンになっているすべてのフィールドを引用できます。
SELECT * FROM ログを含むクエリ文 トリガー条件に評価式を指定した場合、[分析の有効化] スイッチがオンになっているすべてのフィールドを引用できます。
リソースデータ なし リソースデータのフィールドの値は、文字列、浮動小数点数、または数値です。 JSON 型はサポートされていません。

トリガー条件に評価式を指定すると、リソースデータのフィールドの ID を引用できます。

  • 例 1: タスクの成功率が 90% を下回り、1 日の遅延が 60 秒 (相対) を超える場合、アラートがトリガーされます。

    [トリガー条件]パラメーターを [データが式に一致]、「success < 90 && delay > 60」に設定します。

    トリガー条件
  • 例 2: 15 分間に発生した HTTP ステータスコード 500 エラーレスポンスの回数が 10 回を超えた場合、アラートがトリガーされます。

    [トリガー条件]パラメーターを [データが式に一致]、「status == 500 && total > 10」に設定します。

    例