

# チュートリアル: Metric Math 関数を使用してアラームを抑制
<a name="suppress-alarms-tutorial-suppress"></a>

次のチュートリアルでは、Metric Math を使用して CloudWatch アラームを抑制する方法について説明します。

**シナリオの例**

次の火曜日の午前 1 時から午前 3 時 (UTC) までの間に予定されているアクティビティがあります。この時間帯の実際のデータポイントを 0 (設定されたしきい値を下回るデータポイント) に置き換える CloudWatch Metric Math 関数を作成します。

1. アラームをトリガーする基準を評価します。次のスクリーンショットは、アラーム基準の例を示しています。  
![アラームの詳細を示す CloudWatch 画面。](http://docs.aws.amazon.com/ja_jp/IDR/latest/userguide/images/metric-math-assess-alarm-criteria.png)

   前のスクリーンショットに示したアラームは、Application Load Balancer ターゲットグループの `UnHealthyHostCount` メトリクスをモニタリングします。このアラームは、5 つのデータポイントのうち 5 つについて、`UnHealthyHostCount` メトリクスが 3 以上になると `ALARM` 状態になります。アラームは、欠落しているデータを不良 (設定されたしきい値に違反している) として扱います。

1. Metric Math 関数を作成します。

   この例では、予定されているアクティビティは、次の火曜日の午前 1 時から午前 3 時 (UTC) までの間に行われます。したがって、この時間帯の実際のデータポイントを 0 (設定されたしきい値を下回るデータポイント) に置き換える CloudWatch Metric Math 関数を作成します。

   設定する必要がある置換データポイントは、アラーム設定によって異なります。例えば、HTTP 成功率をモニタリングするアラームでしきい値が 98 未満の場合は、計画されたアクティビティ中の実際のデータポイントを、設定されたしきい値である 100 を超える値に置き換えます。このシナリオの Metric Math 関数の例を次に示します。

   ```
   IF((DAY(m1) == 2 && HOUR(m1) >= 1 && HOUR(m1) < 3), 0, m1)
   ```

   上述の Metric Math 関数には、次の要素が含まれています。
   + **DAY(m1) == 2**: 火曜日 (月曜日 = 1、日曜日 = 7) であることを確認します。
   + **HOUR(m1) >= 1 && HOUR(m1) < 3**: 午前 1 時から午前 3 時 (UTC) の時間範囲を指定します。
   + **IF(condition, value\_if\_true, value\_if\_false)**: 条件が true の場合、関数はメトリクス値を 0 に置き換えます。それ以外の場合は、元の値 (m1) が返されます。

   構文と利用可能な関数の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[Metric Math 構文と関数](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)」を参照してください。

1. AWS マネジメントコンソール にサインインして、CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. **[アラーム]** を選択し、Metric Math 関数を追加するアラームを見つけます。

1. Metric Math セクションで、**[編集]** を選択します。

1. **[数式の追加]**、**[空の式から開始]** の順に選択します。

1. 数式を入力し、**[適用]** を選択します。

   次の例に示すように、アラームがモニタリングする既存のメトリクスは自動的に **[m1]** になり、数式は **[e1]** になります。  
![メトリクス数式を示す CloudWatch 画面。](http://docs.aws.amazon.com/ja_jp/IDR/latest/userguide/images/metric-math-expression.png)

1. (オプション) 次の例に示すように、メトリクス数式のラベルを編集して、その機能と作成理由を他のユーザーが理解できるようにします。  
![メトリクス数式ラベルの編集を示す CloudWatch 画面。](http://docs.aws.amazon.com/ja_jp/IDR/latest/userguide/images/metric-math-edit-label.png)

1. **[m1]** の選択を解除し、**[e1]** を選択してから、**[メトリクスの選択]** を選択します。これにより、基になるメトリクスを直接モニタリングする代わりに、数式をモニタリングするようにアラームが設定されます。

1. **[プレビューと作成にスキップ]** を選択します。

1. アラームが想定どおりに設定されていることを検証し、**[アラームを更新して変更を保存]** を選択します。

前の例では、Metric Math 関数が適用されていなければ、実際の `UnHealthyHostCount` メトリクスは計画されたアクティビティ中に報告されていたはずです。この結果、次の例に示すように、CloudWatch アラームが `ALARM` 状態になり、Incident Detection and Response が連動します。

![アラーム状態につながるデータポイントを示す CloudWatch 画面。](http://docs.aws.amazon.com/ja_jp/IDR/latest/userguide/images/metric-math-example-alarm-state.png)


Metric Math 関数を使用すると、実際のデータポイントがアクティビティ中は 0 に置き換えられ、アラームは `OK` 状態のままになり、Incident Detection and Response エンゲージメントの連動が抑制されます。

![アラーム状態のないデータポイントを示す CloudWatch 画面。](http://docs.aws.amazon.com/ja_jp/IDR/latest/userguide/images/metric-math-datapoints-no-alarm.png)
