メトリクスに違反しているデータポイントがないのに CloudWatch アラームがトリガーされたのはなぜですか?

所要時間2分
0

Amazon CloudWatch アラームが [ALARM] 状態に変化します。モニタリング対象のメトリクスを確認しても、違反しているデータポイントが CloudWatch グラフに表示されません。ただし、[Alarm History] (アラーム履歴) には、違反しているデータポイントを含むエントリが含まれています。CloudWatch アラームがトリガーされたのはなぜですか?

簡単な説明

CloudWatch アラームは、特定の時点で使用可能なデータポイントに基づいてメトリクスを評価します。[Alarm History] (アラーム履歴) は、そのタイムスタンプでアラームが評価したデータポイントのレコードをキャプチャします。ただし、アラーム評価が行われた後に新しいサンプルを発行することは可能です。これらの新しいサンプルは、CloudWatch がメトリクスデータを集計するときに計算される値に影響を及ぼす可能性があります。

解決方法

違反しているデータポイントを見つける

違反しているデータポイントが CloudWatch グラフに表示されない場合、それらのデータポイントはアラーム評価時間外に発生しています。これがどのように起こるかを理解するには、次の例を参照してください。

この例では、アラーム評価が発生すると X 個のサンプルが使用可能になり、集計値は A となります。その後、新しいサンプルが投稿され、同じタイムスタンプについて Y 個のサンプルが取得されます。その結果、異なる集計値 B となります。

この場合、アラームは次のパラメータで設定されます。

  • [Namespace] (名前空間): Web_App
  • [Metric] (メトリクス): ResponseTime
  • [Dimension] (ディメンション): host,h_04254448d4e964956
  • [Statistic] (統計): [Average] (平均)
  • [Threshold] (しきい値): 0.005
  • [ComparisonOperator]: GreaterThanThreshold
  • [Period] (期間): 60 seconds (1 minute) (60 秒 (1 分))
  • [Evaluation Period] (評価期間): 1

アラームが 12:00:00~12:01:00 UTC の期間を評価すると、メトリクスによって次の値が取得されます。

Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421

これらの値の平均は 0.006283333 であり、しきい値である 0.005 秒に違反しています。そのため、アラームは [ALARM] 状態に変わります。アラームの履歴には、しきい値を超える集計値が記録されます。

ホストで一時的にパフォーマンスの問題が発生した可能性があります。これは、メトリクスを発行するクライアントアプリケーションに影響を及ぼします。その結果、ホストは等間隔でデータポイントを投稿しない可能性があります。この状況では、アラーム評価が行われた後に 12:00 のサンプルが発行されました。以下はすべて 12:00 タイムスタンプのサンプルです。

Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421
Sample-4: 12:00:00 UTC, numeric value: 0.00002
Sample-5: 12:00:00 UTC, numeric value: 0.00007

このアラームからアラートを受け取ると、ユーザーは CloudWatch グラフをレンダリングしてメトリクスの動作を確認します。CloudWatch は、12:00:00~12:01:00 UTC の 5 つのサンプルを取得し、それらを平均 0.003788 として集計します。これは以前に計算された値とは異なり、しきい値を下回っています。したがって、アラーム評価が行われた後に追加のサンプルが投稿されたため、違反しているデータポイントは時間範囲内では表示されません。

アラームの評価間隔を長くする

アラームの評価間隔は、データポイントの数に期間を乗じたものです。[Datapoints to Alarm] (アラームするデータポイント) を設定すると、評価間隔が長くなる可能性があります。遅延したメトリクスによりアラームが誤ったアラートを生成した場合、評価間隔を長くすると、遅延したデータポイントをアラーム評価で考慮されるようにできます。これにより、誤ったアラートの数が減ります。

評価間隔は、次の 2 つの方法のいずれかで長くすることができます。

1.    期間を長くします。 次の例では、期間を長くして 5 分にします。

  • [Namespace] (名前空間): Web_App
  • [Metric] (メトリクス): ResponseTime
  • [Dimension] (ディメンション): host,h_04254448d4e964956
  • [Statistic] (統計): [Average] (平均)
  • [Threshold] (しきい値): 0.005
  • [ComparisonOperator]: GreaterThanThreshold
  • [Period] (期間): 300 seconds (5 minute) (300 秒 (5 分))
  • [Evaluation Period] (評価期間): 1
  • または -

2.    [M out of N] (N 個のうち M 個) の [Datapoints to Alarm] (アラームするデータポイント) を設定します。

次の例では、N 個のうち M 個のデータポイントは、3 個のうち 2 個に設定されています。

  • [Namespace] (名前空間): Web_App
  • [Metric] (メトリクス): ResponseTime
  • [Dimension] (ディメンション): host,h_04254448d4e964956
  • [Statistic] (統計): [Average] (平均)
  • [Threshold] (しきい値): 0.005
  • [ComparisonOperator]: GreaterThanThreshold
  • [Period] (期間): 60 seconds (1 minute) (60 秒 (1 分))
  • [Evaluation Period (N)] (評価期間 (N)): 3
  • [Datapoints To Alarm (M)] (アラームするデータポイント (M)): 2

[Evaluation Periods] (評価期間) と [Datapoints to Alarm] (アラームするデータポイント) を異なる値として設定する場合、[M out of N] (N 個のうち M 個) のアラームを設定することになります。[Datapoints to Alarm] (アラームするデータポイント) は M[Evaluation Periods] (評価期間) は N です。例えば、5 個のうち 4 個のデータポイントを 1 分間隔で設定した場合、評価間隔は 5 分です。同様に、3 個のうち 3 個を 10 分間隔で設定した場合、評価間隔は 30 分です。

[Datapoints to Alarm] (アラームするデータポイント) をこのように設定すると、CloudWatch アラームはより多くのデータポイントを評価します。また、最小数のデータポイント (M 個) が特定のデータポイント (N 個) セットに違反した場合にのみ、アラーム状態を変更します。このパラメータは、アラームを単一のデータポイントでトリガーするように調整したり、[ALARM] 状態に移行するために複数のデータポイントを必要とするように設定したりできます。

詳細については、「静的しきい値に基づいて CloudWatch アラームを作成する」および「CloudWatch アラームの欠落データの処理の設定」を参照してください。


関連情報

CloudWatch アラームトリガーの Amazon Simple Notification Service (Amazon SNS) 通知を受信しなかったのはなぜですか?

CloudWatch アラームの状態が、INSUFFICIENT_DATA になっているのはなぜですか?

CloudWatch アラームが 1 つの超過データポイント後に通知を送信するのはなぜですか?

AWS公式
AWS公式更新しました 1年前