メニュー
Amazon CloudWatch
ユーザーガイド

Amazon CloudWatch の概念

Amazon CloudWatch を理解し使用するために重要な用語と概念を、以下に示します。

名前空間

名前空間は、CloudWatch メトリクスのコンテナです。異なる名前空間のメトリクスは相互に切り離されて、異なるアプリケーションのメトリクスが誤って同じ統計に集約されないようになっています。

デフォルトの名前空間はありません。CloudWatch に発行する各データポイントには、名前空間を指定する必要があります。メトリクスの作成時に名前空間名を指定できます。これらの名前には有効な XML 文字を含める必要があり、長さを 256 文字未満にする必要があります。使用可能な文字は、英数字 (0-9A-Za-z)、ピリオド (.)、ハイフン (-)、アンダースコア (_)、スラッシュ (/)、ハッシュ (#)、コロン (:) です。

AWS 名前空間では、命名規則 AWS/service が使用されます。たとえば、Amazon EC2 は AWS/EC2 名前空間を使用します。AWS 名前空間のリストについては、「AWS の名前空間」を参照してください。

メトリクス

メトリクスは CloudWatch での基本的な概念です。メトリクスは、CloudWatch に発行された時系列のデータポイントのセットを表します。メトリクスは監視対象の変数、データポイントは時間の経過に伴うその変数の値と考えることができます。たとえば、特定の EC2 インスタンスの CPU 使用率は、Amazon EC2 により提供される 1 つのメトリクスです。データポイント自体は、データの収集元のアプリケーションまたはビジネスアクティビティから生成されます。

AWS のサービスが CloudWatch にメトリクスを送信し、お客様は独自のカスタムメトリクスを CloudWatch に送信できます。データポイントの順序や比率は、任意で選択して、追加できます。それらのデータポイントについての統計を、順序付けられた時系列データのセットとして取得できます。

メトリクスは作成されたリージョンにのみ存在します。メトリクスは削除できませんが、それらに対して新しいデータが発行されない場合、15 か月後に自動的に有効期限切れになります。15 か月以上経過したデータポイントは、ローリング方式で期限切れになります。つまり、新しいデータポイントが入ってくるたびに、古い 15 か月以上経過したものが削除されます。

メトリクスは名前、名前空間、1 つ以上のディメンションで一意に定義されます。各データポイントには、タイムスタンプと、(オプションで)測定単位があります。統計をリクエストして返ってきたデータストリームは、名前空間、メトリクス名、ディメンション、(オプションで)単位により識別されます。

詳細については、「利用可能なメトリクスを表示する」および「カスタムメトリクスをパブリッシュする」を参照してください。

タイムスタンプ

各メトリクスデータポイントには、タイムスタンプが付けられる必要があります。タイムスタンプは、最大 2 週間前から最大 2 時間後になります。ユーザーがタイムスタンプを指定しない場合は、データポイントを受信した時間を基に、CloudWatch がタイムスタンプを作成します。

タイムスタンプは、完全な日付、時間、分、秒を含む dateTime オブジェクトです (たとえば、2016-10-31T23:59:59Z)。詳細については、「dateTime」を参照してください。必須ではありませんが、協定世界時 (UTC) を使用することをお勧めします。CloudWatch から統計を取得すると、すべての時刻は UTC になります。

CloudWatch アラームは、現在の UTC 時刻に基づいてメトリクスをチェックします。現在の UTC 時刻以外のタイムスタンプで CloudWatch にカスタムメトリクスが送信されると、アラームが Insufficient Data 状態を表示するか、アラームに遅延が生じる可能性があります。

メトリクスの保持

CloudWatch には、メトリクスデータが次のように保持されます。

  • 期間が 60 秒未満のデータポイントは、3 時間使用できます。これらのデータポイントは高解像度カスタムメトリクスです。

  • 期間が 60 秒 (1 分) のデータポイントは、15 日間使用できます。

  • 期間が 300 秒 (5 分) のデータポイントは、63 日間使用できます。

  • 期間が 3600 秒 (1 時間) のデータポイントは、455 日 (15 か月) 間使用できます。

最初は短い期間で発行されるデータポイントは、長期的なストレージのため一緒に集計されます。たとえば、1 分の期間でデータを収集する場合、データは 1 分の解像度で 15 日にわたり利用可能になります。15 日を過ぎてもこのデータはまだ利用できますが、集計され、5 分の解像度のみで取得可能になります。63 日を過ぎるとこのデータはさらに集計され、1 時間の解像度のみで利用できます。

CloudWatch は、2016 年 7 月 9 日の時点で 5 分および 1 時間のメトリクスデータを保持し始めました。

ディメンション

ディメンションは、メトリクスを一意に識別する名前/値のペアです。1 メトリクスあたり最大 10 ディメンションを割り当てることができます。

各メトリクスには、それを表す固有の特徴があります。ディメンションはその特徴のカテゴリーと考えることができます。ディメンションは、統計プランの構造を設計するのに役立ちます。ディメンションは、メトリクスの一意の識別子の一部であるため、メトリクスに一意の名前と値のペアを追加するときは常に、そのメトリクスの新しいバリエーションを作成していることになります。

CloudWatch にデータを送信する AWS のサービスは、各メトリクスにディメンションを指定します。CloudWatch が返す結果にフィルタを掛ける際にディメンションを使用できます。たとえば、メトリクスを検索する際に InstanceId ディメンションを指定することにより、特定の EC2 インスタンスの統計を取得できます。

Amazon EC2 など特定の AWS のサービスが生成するメトリクスでは、CloudWatch は複数のディメンションにまたがるデータを集約する場合があります。たとえば、ディメンションを指定せずに AWS/EC2 名前空間にあるメトリクスを検索すると、CloudWatch は、指定されたメトリクスの全データを集約して、リクエストされた統計を作成します。CloudWatch はディメンション間ではカスタムメトリクスを集約しません。

ディメンションの組み合わせ

CloudWatch は、メトリクスのメトリクス名が同じ場合でも、ディメンションの一意の各組み合わせを別個のメトリクスとして扱います。明示的に発行したディメンションの組み合わせを用いてのみ、統計を取得できます。統計を取得するとき、名前空間、メトリクス名、ディメンションパラメーターに、メトリクス作成時に使用されたのと同じ値を指定します。CloudWatch が集約に使用する開始時間と終了時間も指定できます。

たとえば、次のプロパティを使用して、DataCenterMetric 名前空間内で ServerStats という名前の 4 つの異なるメトリクスを発行するとします。

Copy
Dimensions: Server=Prod, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:30:00Z, Value: 105 Dimensions: Server=Beta, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:31:00Z, Value: 115 Dimensions: Server=Prod, Domain=Rio, Unit: Count, Timestamp: 2016-10-31T12:32:00Z, Value: 95 Dimensions: Server=Beta, Domain=Rio, Unit: Count, Timestamp: 2016-10-31T12:33:00Z, Value: 97

これらの 4 つのメトリクスのみを発行した場合、次のディメンションの組み合わせで統計を取得できます。

  • Server=Prod,Domain=Frankfurt

  • Server=Prod,Domain=Rio

  • Server=Beta,Domain=Frankfurt

  • Server=Beta,Domain=Rio

次のディメンションの統計を取得したり、ディメンションを指定しない場合に統計を取得したりすることはできません。

  • Server=Prod

  • Server=Beta

  • Domain=Frankfurt

  • Domain=Rio

統計

統計は、指定した期間のメトリクスデータの集計です。CloudWatch は、カスタムデータまたは AWS の他のサービスから CloudWatch に与えられたメトリクスのデータポイントを基に、統計を提供します。集約は、指定した期間内に、名前空間、メトリクス名、ディメンション、データポイントの測定単位を用いて行われます。次の表は利用可能な統計を説明しています。

統計 説明
Minimum

指定された期間に認められた最小値です。この値を用いて、アプリケーションの低ボリュームのアクティビティを判断できます。

Maximum

指定された期間に認められた最大値です。この値を用いて、アプリケーションの高ボリュームのアクティビティを判断できます。

Sum

該当するメトリクスで加算されたすべての合計値です。この統計は、メトリクスの合計ボリュームを判断するのに役立ちます。

Average

指定した期間の Sum/SampleCount の値です。この統計を Minimum および Maximum と比較することで、メトリクスの全容、および平均使用量がどれくらい MinimumMaximum に近いかを判断できます。この比較は、必要に応じていつリソースを増減させるべきかを知るのに役立ちます。

SampleCount

統計計算で使用するデータポイントのカウント (数) です。

pNN.NN

指定されたパーセンタイルの値。小数点以下最大 2 桁を使用して、任意のパーセンタイルを指定できます (p95.45 など)。詳細については、「パーセンタイル」を参照してください。

事前計算された統計を追加できます。データポイント値の代わりに、SampleCountMinimumMaximumSum の値を指定します(平均値は CloudWatch が計算します)。この方法で追加した値は、一致するメトリクスと関連付けられたその他すべての値と一緒に集約されます。

単位

各統計には、測定単位があります。単位の例は、BytesSecondsCountPercent などです。CloudWatch がサポートする単位の全リストについては、『Amazon CloudWatch API リファレンス』の「MetricDatum」のデータタイプを参照してください。

カスタムメトリクスを作成するときに単位を指定できます。単位を指定しない場合、CloudWatch は単位として None を使用します。単位は、データの概念的意味を与えるのに役立ちます。CloudWatch は内部的に単位に意味を持たせていませんが、他のアプリケーションでは、単位を基に意味のある情報を引き出すことができます。

測定単位を指定するメトリクスデータポイントは個別に集約されます。単位を指定せずに統計を取得する場合、CloudWatch が同じ単位のデータポイントをすべて 1 つに集約します。単位だけが異なっている 2 つのメトリクスがある場合、単位ごとに別々の 2 つのデータストリームが返されます。

期間

期間とは、特定の Amazon CloudWatch の統計に関連する時間長です。各統計は、指定された期間に収集されたメトリクスデータの集約を表しています。期間は秒数で定義され、期間の有効な値は、1、5、10、30、または 60 の倍数になります。たとえば、6 分の期間を指定するには、期間の値として 360 を使用します。期間の長さを変えることで、データの集約方法を調整できます。期間は、最短 1 分から最長 1 日 (86,400 秒) までになります。デフォルト値は 60 秒です。

1 秒のストレージ解像度で定義したカスタムメトリクスのみが、1 分未満の解像度をサポートします。60 秒未満の期間を設定するオプションは常にコンソールで利用できますが、メトリクスの保存方法に合った期間を選択する必要があります。1 分未満の期間をサポートするメトリクスの詳細については、「高解像度のメトリクス」を参照してください。

統計を取得するとき、期間、開始時刻、終了時刻を指定できます。これらのパラメーターでは、統計に関連する全体の時間長を決定します。開始時刻と終了時刻のデフォルト値では、過去 1 時間分の統計が得られます。開始時刻と終了時刻に指定した値により、CloudWatch により返される期間が決まります。たとえば、期間、開始時刻、終了時刻のデフォルト値を使用して統計を取得すると、過去 1 時間で毎分の集約された統計一式が返されます。10 分区切りで集約された統計を取得する場合は、期間を 600 に指定します。 1 時間分の集約された統計の場合は、期間を 3600 に設定します。

期間は、CloudWatch アラームにとっても重要です。特定のメトリクスをモニタリングするアラームを作成したなら、そのメトリクスと指定したしきい値を比較するよう CloudWatch に依頼していることになります。ユーザーは、CloudWatch がその比較を行う方法を広範囲に制御できます。どれくらいの期間で比較するかだけでなく、結論までに使用する評価期間数も設定できます。 たとえば、3 つの評価期間を設定すると、CloudWatch は 3 つのデータポイントのウィンドウを比較します。最も古い期間が超過し、その他の期間が超過または不足している場合にのみ、CloudWatch は通知を送ります。連続して発行されるメトリクスについては、3 つエラーが発見されるまで CloudWatch は通知を送りません。

集約

統計の取得時に指定した期間の長さに従って、Amazon CloudWatch は統計を集約します。同一または類似したタイムスタンプを使って、望む数のデータポイントをパブリッシュできます。CloudWatch は、期間の長さごとに集計します。集約された統計は、詳細モニタリングを利用している場合のみ取得できます。加えて、Amazon CloudWatch は複数のリージョンにまたがってデータを集約することはありません。

同じタイムスタンプだけでなく、同じ名前空間とディメンションを共有するメトリクスのデータポイントをパブリッシュできます。CloudWatch は、それらのデータポイントの集約された統計を返します。また、どのタイムスタンプでも、同じメトリクスまたは異なるメトリクスの複数のデータポイントをパブリッシュすることもできます。

大きいデータセットの場合、統計セットという事前集約されたデータセットを挿入できます。統計セットにより、CloudWatch に多数のデータポイントの Min (最小値)、Max (最大値)、Sum (合計)、SampleCount (サンプルカウント) を与えます。これは、1 分間に何回もデータを収集する必要がある場合によく使用されます。たとえば、ウェブページのリクエストレイテンシーに関するメトリクスがあるとします。ウェブページがヒットされるたびにデータを発行することは意味を成しません。そこで、そのウェブページの全ヒットのレイテンシーを収集してそのデータを毎分集約し、その統計セットを CloudWatch に送信することができます。

Amazon CloudWatch は、メトリクスのソースを区別しません。ソースが異なっていても、名前空間とディメンションが同じメトリクスがパブリッシュされれば、CloudWatch はこれを 1 つのメトリクスとして扱います。これは、分散型の、拡大縮小されたシステムのサービスメトリクスで有用です。たとえば、ウェブサーバーのアプリケーションのすべてのホストが処理するリクエストのレイテンシーを表すメトリクスを 1 つにまとめてパブリッシュできます。CloudWatch はこれらを 1 つのメトリクスとして扱い、アプリケーション全体ですべてのリクエストの最小値、最大値、平均、合計の統計を取得できるようにします。

パーセンタイル

パーセンタイルは、データセットにおける値の相対的な位置を示します。たとえば、95 パーセンタイルは、95 パーセントのデータがこの値を下回っており、5 パーセントのデータがこの値を上回っていることを意味します。パーセンタイルにより、メトリクスデータの分布をよく理解することができます。パーセンタイルが使用可能なサービスは、次のとおりです。

  • Amazon EC2

  • Amazon RDS

  • Kinesis

  • Application Load Balancer

  • Elastic Load Balancing

  • API Gateway

パーセンタイルは、異常を分離するためによく使用されます。一般的な分布では、95 パーセントのデータが平均から 2 標準偏差以内に収まっており、99.7 パーセントのデータが平均から 3 標準偏差以内に収まっています。3 標準偏差に収まらないデータは、平均値とかけ離れているため、多くの場合異常と見なされます。たとえば、お客様の満足度を高めるため、EC2 インスタンスの CPU 使用率をモニタリングしているとします。平均をモニタリングした場合、異常が見えなくなる可能性があります。最大をモニタリングした場合、1 つの異常のために正しい結果が見えなくなる可能性があります。パーセンタイルを使用すると、CPU 使用率の 95 パーセンタイルをモニタリングし、負荷が異常に高いインスタンスをチェックできます。

他の CloudWatch 統計 (平均、最小、最大、合計) を使用するのと同じように、パーセンタイルを使用してシステムとアプリケーションをモニタリングできます。たとえば、アラームを作成するとき、パーセンタイルを統計関数として使用できます。小数点以下最大 2 桁のパーセンタイルを指定できます (p95.45 など)。

CloudWatch は、raw データポイントを使用してパーセンタイルを計算します。統計セットを使用してデータをパブリッシュする場合は、以下の条件のいずれかが真である場合のみ、このデータのパーセンタイル統計を取得できます。

  • 統計セットの SampleCount が 1.

  • 統計セットの最小値と最大値が同一.

アラーム

アラームを使用すると、アクションを自動的に開始することができます。アラームは、指定した期間の単一のメトリクスを監視し、一定期間におけるしきい値とメトリクスの値の関係性に基づいて、1 つ以上の指定されたアクションを実行します。アクションは、Amazon SNS トピックまたは Auto Scaling ポリシーに送信される通知です。アラームはダッシュボードに追加することもできます。

アラームは、持続している状態変化に対してのみアクションを呼び出します。CloudWatch アラームはそれが特定の状態にあるという理由だけではアクションを呼び出しません。アクションを呼び出すには、状態が変化し、その状態が特定の期間にわたって維持されている必要があります。

アラームを作成する際、メトリクスのモニタリング頻度以上の期間を選択します。たとえば、Amazon EC2 の基本モニタリングでは、5 分ごとにインスタンスのメトリクスが提供されます。基本モニタリングのメトリクスにアラームを設定する場合、少なくとも 300 秒(5 分)の期間を選択します。Amazon EC2 の詳細モニタリングでは、1 分ごとにインスタンスのメトリクスが生成されます。詳細モニタリングのメトリクスにアラームを設定する場合、少なくとも 60 秒 (1 分) の期間を選択します。

高解像度メトリクスでアラームを設定する場合、10 秒または 30 秒の期間で高解像度アラームを指定するか、60 秒の倍数の期間で通常のアラームを設定できます。高解像度のアラームには高い料金が発生します。高解像度メトリクスの詳細については、「カスタムメトリクスをパブリッシュする」を参照してください。

詳細については、「Amazon CloudWatch アラームの作成」および「グラフのメトリクスからアラームを作成する」を参照してください。