CloudWatch による Amazon ECS の予測スケーリングメトリクスをモニタリングする - Amazon Elastic Container Service

CloudWatch による Amazon ECS の予測スケーリングメトリクスをモニタリングする

Amazon CloudWatch を使用して、予測スケーリング用にデータをモニタリングできます。予測スケーリングポリシーは、今後の負荷を予測するために使用されるデータを収集します。収集されたデータは、定期的に CloudWatch に自動的に保存され、ポリシーが時間の経過と共にどの程度機能しているかを視覚化するために使用できます。また、CloudWatch アラームを作成して、パフォーマンス指標が定義した制限を超えて変化したときに通知させることもできます。

履歴予測データの視覚化

予測スケーリングポリシーの負荷予測データは CloudWatch で表示でき、他の CloudWatch メトリクスに対する予測を 1 つのグラフで視覚化する場合に役立ちます。また、より広い時間範囲を表示することで、時間の経過に伴う傾向を確認することもできます。最大 15 か月間の履歴メトリクスにアクセスして、ポリシーの動作をより的確に把握できます。

CloudWatch コンソールを使用して履歴予測データを表示する方法
  1. CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/ を開いてください。

  2. ナビゲーションペインで、[Metrics] (メトリクス)、[All metrics] (すべてのメトリクス) の順に選択します。

  3. [アプリケーションの自動スケーリング] メトリクス名前空間を選択します。

  4. [予測スケーリングの負荷予測] を選択します。

  5. 検索フィールドに、予測スケーリングポリシー名または Amazon ECS サービスグループ名を入力し、Enter キーを押して結果をフィルタリングします。

  6. メトリクスをグラフ表示するには、メトリクスの横にあるチェックボックスを選択します。グラフの名前を変更するには、鉛筆アイコンを選択します。時間範囲を変更するには、事前定義済みの値を選択するか、[custom] を選択します。詳細については、「Amazon CloudWatch ユーザーガイド」の「メトリクスのグラフ化」を参照してください。

  7. 統計を変更するには、[Graphed metrics] タブを選択します。列見出しまたは個々の値を選択し、続いて各種統計を選択します。各メトリクスの任意の統計を選択できますが、すべての統計が [PredictiveScalingLoadForecast] メトリクスに有用なわけではありません。例えば、平均最小最大統計は有用ですが、合計統計は有用ではありません。

  8. グラフに別のメトリクスを追加するには、[Browse] (参照) で [All] (すべて) を選択し、追加したいメトリクスを見つけて、その横にあるチェックボックスをオンにします。最大 10 個のメトリクスを追加できます。

  9. (オプション) このグラフを CloudWatch ダッシュボードに追加するには、[Actions] (アクション)、[Add to dashboard] (ダッシュボードに追加) の順に選択します。

Metric Math を使用して精度メトリクスを作成する

Metric Math により、複数の CloudWatch メトリクスをクエリし、数式を使用して、これらのメトリクスに基づく新しい時系列を作成できます。作成された時系列を CloudWatch コンソールで可視化でき、ダッシュボードに追加できます。Metric Math の詳細については、「Amazon CloudWatch ユーザーガイド」の「Metric Math を使用する」を参照してください。

Metric Math を使用して、サービス自動スケーリングが予測スケーリングのために生成するデータを各種の方法でグラフ化できます。これにより、ポリシーのパフォーマンスを経時的にモニタリングし、メトリクスの組み合わせを改善できるかどうかを把握することができます。

例えば、Metric Math 式を使用して、平均絶対パーセント誤差 (MAPE) をモニタリングできます。MAPE メトリクスは、予測値と、特定の予測期間中に観測された実際の値の差をモニタリングするのに役立ちます。MAPE の値の変化は、アプリケーションの性質が変化するにつれて、ポリシーのパフォーマンスが経時的に低下しているかどうかを示します。MAPE の増加は、予測値と実際の値の差が大きいことを示します。

例: Metric Math 式

このタイプのグラフを使用するには、次の例に示すような Metric Math 式を作成します。

単一のメトリクスではなく、MetricDataQueries 用のメトリクスデータクエリ構造の配列があります。MetricDataQueries の各項目は、メトリクスを取得するか、数式を実行します。最初の項目は、数式である e1 です。指定された式は、ReturnData パラメータを true に設定し、最終的に単一の時系列を生成します。他のすべてのメトリクスで、ReturnData 値は false です。

この例では、指定された式は実際の値と予測値を入力値として使用し、新しいメトリクス (MAPE) を返します。m1 は、実際の負荷値を含む CloudWatch メトリクスです (CPU 使用率が、my-predictive-scaling-policy という名前のポリシーに対して最初に指定された負荷メトリクスであると仮定)。m2 は、予測負荷値を含む CloudWatch メトリクスです。MAPE メトリクスの計算構文は次のとおりです。

(絶対値 ((実際の値 - 予測値)/(実際の値))) の平均

精度メトリクスを視覚化してアラームを設定する

精度メトリクスデータを視覚化するには、CloudWatch コンソールの [Metrics] (メトリクス) タブをクリックします。そこからデータをグラフ化できます。詳細については、「Amazon CloudWatch ユーザーガイド」の「CloudWatch グラフへの数式の追加」を参照してください。

[Metrics] (メトリクス) セクションから、モニタリングしているメトリクスにアラームを設定することもできます。[Graphed metrics] (グラフ化したメトリクス) タブで、[Actions] (アクション) 列にある [Create alarm] (アラームを作成) アイコンをクリックします。[Create alarm] (アラームを作成) アイコンは小さなベルです。詳細および通知オプションについては、「Amazon CloudWatch ユーザーガイド」の「メトリクス数式に基づく CloudWatch アラームの作成」と「アラームの変更をユーザーに通知する」を参照してください。

GetMetricData および PutMetricAlarm を使用して、Metric Math によって計算し、その出力に基づいてアラームを作成することもできます。