Amazon web services 使用boto3 get_metric_statistics()返回的数据的采样率
文档在这里… 这是我们的电话Amazon web services 使用boto3 get_metric_statistics()返回的数据的采样率,amazon-web-services,boto,boto3,amazon-cloudwatch,amazon-cloudwatch-metrics,Amazon Web Services,Boto,Boto3,Amazon Cloudwatch,Amazon Cloudwatch Metrics,文档在这里… 这是我们的电话 response = cloudwatch.get_metric_statistics( Namespace='AWS/EC2', MetricName='CPUUtilization', #reported every 5 minutes Dimensions=[ { 'Name': 'AutoScalingGroupName', 'Value': 'Celery-Au
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'}
]
这是我的问题
查看返回列表中的第一个词典。我想,样本数为5是有意义的,因为我们的周期是60秒,CloudWatch每5分钟提供一次“CPUUtilization”度量
但若我改变周期,比如说3分钟(180),我仍然会得到5个样本(我希望是1或2个)
这是一个问题,因为我想要平均值,但我认为平均值是5个数据点,其中只有2个是有效的(开始和结束,对应于最小值和最大值,即某个时间t的CloudWatch度量,以及该度量的下一个报告时间t+5分钟)
它使用3个中间0值数据点对其进行平均,因此平均值为(最小值+最大值+0+0+0)/5
我可以得到最小值,最大值,再加上它们,然后除以2,以获得更好的读数——但我希望有人能准确地解释“周期”参数在做什么。
正如我所说,将其更改为360并没有改变SampleCount,但当我将其更改为600时,一个数据点的SampleCount突然变为10.0(这是有意义的)。数据可以通过两种不同的方式发布到CloudWatch: