

# アラームでの PromQL の使用
<a name="CloudWatch-PromQL-Alarms"></a>

PromQL クエリを使用してメトリクスをモニタリングする CloudWatch アラームを作成できます。PromQL アラームは PromQL 式を評価し、クエリ結果に基づいてアラーム状態の変更をトリガーします。

アラームの概念の詳細については、「[概念](alarm-concepts.md)」を参照してください。

アラームデータのクエリの詳細については、「[アラームデータクエリ](alarm-data-queries.md)」を参照してください。

アラームアクションの詳細については、「[アラームアクション](alarm-actions.md)」を参照してください。

アラームの制限の詳細については、「[制限](alarm-limits.md)」を参照してください。

## PromQL アラームの作成
<a name="CloudWatch-PromQL-Alarms-Create"></a>

PromQL アラームは、CloudWatch コンソール、AWS CLI、または CloudWatch API から作成できます。

**コンソールから PromQL アラームを作成するには**

1. [CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch/)を開きます。

1. ナビゲーションペインで、**[アラーム]**、**[すべてのアラーム]** の順に選択します。

1. [**アラームの作成**] を選択します。

1. **[メトリクスの選択]**を選択し、**[PromQL]** タブを選択します。

1. PromQL クエリを入力します。クエリは、アラームが評価するために単一の時系列を返す必要があります。

1. しきい値、評価期間、アラームを発生させるデータポイントなど、アラーム条件を設定します。

1. Amazon SNS 通知などのアラームアクションを設定します。

1. アラームの名前と説明を入力し、**[アラームの作成]** を選択します。

単一の時系列を返すクエリを実行した後、[Query Studio での PromQL クエリの実行 (プレビュー)](CloudWatch-PromQL-QueryStudio.md) から直接 PromQL アラームを作成することもできます。

## 異常検出のための PromQL を使用した CloudWatch アラームの作成
<a name="promql_alarm_anomaly_detection"></a>

メトリクスが統計的境界によって定義された予想範囲を違反したときにトリガーする PromQL アラームを作成できます。アラームクエリは、上限と下限を 1 つの式に結合し、異常なデータポイントのみを返します。クエリによって返された時系列は違反していると見なされます。

次の式の例では、広告リクエストメトリクスが 60 分間枠の中央値から 3 標準偏差を超えたことを検出します。

```
1 * {"app.ads.ad_requests"} > quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m)
    + 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m)
or
1 * {"app.ads.ad_requests"} < clamp_min(
    quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m)
    - 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m),
0)
```

この式は複数のラベル値全体で動作するため、アラームはフリート全体の異常を追跡できます。それぞれの違反した時系列は、個別のコントリビューターとして追跡されます。PromQL アラームがコントリビューターを評価する方法の詳細については、「[PromQL アラーム](alarm-promql.md)」を参照してください。

メトリクスの動作に合わせて乗数と時間枠を調整できます。乗数を大きくすると、誤検出が少なく、範囲が広くなります。時間枠を長くすると、短期的なスパイクが解消されます。`clamp_min` 関数は、負の値を持つことができないメトリクスの下限が負にならないようにします。

PromQL を使用した異常検出バンドの構築の詳細については、「[PromQL を使用した異常検出](CloudWatch_Anomaly_Detection.md#anomaly_detection_promql)」を参照してください。