ドキュメントはここにある...サンプリングレートは、(boto3の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になりました。