CloudWatch の GetMetricStatistics API 呼び出しがデータポイントを返さないのはなぜですか? 

最終更新日: 2018 年 6 月 5 日

Amazon CloudWatch の「GetMetricStatistics」API 呼び出しでデータポイントが返されません。ただし、データポイントは CloudWatch コンソールで使用できます。解決方法を教えてください。

解決方法

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

CloudWatch はリージョンに基づくサービスであるため、API 呼び出しで正しいリージョンが使用されていることを確認することが重要です。GetMetricStatistics API 呼び出しは複数の引数とともに発行され、それらはメトリクスのプロパティと一致する必要があります。これらの引数では大文字と小文字が区別されるため、CloudWatch コンソール設定では、大文字と小文字がそれぞれ正しく使用されており、名前と一致していることを必ず確認してください。ほとんどの場合、エラーは誤った引数によって生じます。

ディメンション

メトリクスが複数のディメンションで作成されている場合、そのメトリクスのデータポイントは、設定されたすべてのディメンションを指定することによってのみ取得できます。例えば、次のプロパティを使用して DataCenterMetric 名前空間で ServerStats という名前のメトリクスを発行するとします。

Dimensions: Server=Prod, Domain=Frankfurt, Unit: Count, Timestamp: 2016-10-31T12:30:00Z, Value: 105

これらのディメンションを指定することで、このメトリクスのデータポイントを取得できます。

Server=Prod,Domain=Frankfurt

ただし、2 つのディメンションのうちの 1 つしか指定しなかった場合には、データポイントを取得できません。例:

Server=Prod

AWS CLI により、get-metric-statistics コマンドでディメンションを指定する形式は、put-metric-data コマンドの形式と異なります。次の形式と類似する形式を使用してください:

"Name"=string, "Value"=string

次の形式の代わりに:

Name=Value

get-metric-statistics 呼び出しの例:

aws cloudwatch get-metric-statistics --metric-name "MyMetric" --start-time 2018-04-08T23:18:00Z --end-time 2018-04-09T23:18:00Z --period 3600 --namespace "MyNamespace" --statistics Maximum --dimensions Name=Server,Value=Prod

put-metric-data 呼び出しの例:

aws cloudwatch put-metric-data --namespace "MyNamespace" --metric-name "MyMetric" --dimensions Server=Prod --value 10

間隔

このメトリクスが指定した間隔の値に対してプッシュされない場合、データポイントは返されません。

例えば、インスタンスに対して基本モニタリングを有効にした場合、Amazon EC2 は 5 分ごとにデータポイントをプッシュします。Amazon EC2 はタイムスタンプ (12:00、12:05、12:10 など) にデータポイントをプッシュするとします。開始時間と終了時間を 12:01 から 12:04 の間に設定し、60 秒間隔でデータポイントを取得しようとすると、データポイントは表示されません。開始時間と終了時間を、メトリクスによって提供される最小粒度 (この場合は 5 分) を超えて延長することがベストプラクティスです。あるいは、メトリクスによって提供される最小粒度以上の期間を使用します。

統計

メトリクスに対するパーセンタイル統計を取得するためには、ExtendedStatistic を使用してください。

CloudWatch は生のデータポイントを使用して、パーセンタイルを計算します。統計セットを使用してデータを発行する場合は、以下の条件のいずれかが true である場合に、このデータのパーセンタイル統計を取得することはできます。

  • 統計セットの SampleCount が 1。
  • 統計セットの最小値と最大値が同一である。

単位

  • 指定された単位がメトリクスに対して設定されたものと異なる場合、データポイントは返されません。
  • 単位の引数を指定しない場合、すべての単位のデータポイントが返されます。

開始時間と終了時間

  • 開始時間と終了時間引数の形式を GetMetricStatistics 文書の指定に従って設定します。
  • 開始時間と終了時間の間のメトリクスにデータポイントがプッシュされない場合、データポイントは返されません。

注: 24 時間以上前のタイムスタンプを持つデータポイントは、get-metric-statistics で利用可能になるまで 48 時間以上かかることがあります。詳細については、「put-metric-data」をご覧ください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?