0

ドキュメントはここにある...サンプリングレートは、(boto3のget_metric_statisticsで返される)

http://boto3.readthedocs.io/en/latest/reference/services/cloudwatch.html#CloudWatch.Client.get_metric_statistics

ここでここに私たちのコール

response = cloudwatch.get_metric_statistics(
    Namespace='AWS/EC2', 
    MetricName='CPUUtilization', #reported every 5 minutes 

    Dimensions=[ 
     { 
      'Name': 'AutoScalingGroupName', 
      'Value': 'Celery-AutoScalingGroup' 
     }, 
    ], 
    StartTime=now - datetime.timedelta(minutes=12), 
    EndTime=now, 
    Period=60, #I can't figure out what exactly changing this is doing 
    Statistics=['Average','SampleCount','Sum','Minimum','Maximum'], 
) 

は、私たちの応答です

>>> response['Datapoints'] 
[{u'SampleCount': 5.0, u'Timestamp': datetime.datetime(2017, 8, 25, 12, 46, tzinfo=tzutc()), u'Average': 0.05, u'Maximum': 0.17, u'Minimum': 0.0, u'Sum': 0.25, u'Unit': 'Percent'}, {u'SampleCount': 5.0, u'Timestamp': datetime.datetime(2017, 8, 25, 12, 51, tzinfo=tzutc()), u'Average': 0.034, u'Maximum': 0.08, u'Minimum': 0.0, u'Sum': 0.17, u'Unit': 'Percent'}] 

は、ここに私の質問返されたリストの最初の辞書で

ルックです。私たちの期間は60(秒)で、CloudWatchは5分ごとに 'CPUUtilization'メトリックを提供しているため、SampleCountが5の場合は意味があります。

私はPeriodを変更して3分(180)と言うと、まだSampleCountが5です(1または2が必要です)。

これは私が平均をしたいが、私はそれがMinとMaxに対応して有効であるだけで2そのうち5つのデータポイント(開始と終了を、平均化されると思うので、それはいくつかのCloudWatchのメトリックであるという問題です時刻tと時刻t + 5分におけるそのメトリックの次の報告)。

平均(最小+最大+ 0 + 0 + 0)/ 5

私はちょうどMinumum、最大それらを追加取得し、によって分割することができているようにそれが3中間0値のデータポイントでこれを平均化されます2を読んだほうがいいですが、私は誰かが「期間」パラメータが何をしているのか正確に説明できることを期待していました。 私が言ったように、360に変更してもSampleCountは変更されませんでしたが、600に変更すると、突然、1つのデータポイントに対してSampleCountが10.0になりました。

答えて

1

データは、2つの異なる方法でCloudWatchのに公開することができます。

  1. あなたはあなたの観測一つ一つを公開し、CloudWatchのは、凝集をやらせることができます。
  2. 自分でデータを集計し、統計セット(SampleCount、Sum、Minimum、Maximum)を公開することができます。

データが方法1を使用して公開されている場合、期待していた動作が得られます。しかし、データが方法2を使用して公開されている場合は、公開データの細分化によって制限されます。

ec2が5分間データを集約して統計セットを公開している場合、3分レベルでデータを要求する点はありません。ただし、データを要求した場合、その期間の倍数であるデータ(たとえば10分)を発行して、CloudWatchが行う統計を計算することができます。

関連する問題