我试图从我的ec2实例请求CPUUtilization并使用以下命令流动this Command Reference
aws cloudwatch get-metric-statistics --metric-name CPUUtilization --start-time 2016-08-08T22:48:00 --end-time 2016-08-08T22:53:00 --period 60 --namespace AWS/EC2 --statistics Maximum --dimensions Name=InstanceId,Value=i-myinstanceid
我的回答是:
{
"Datapoints": [
{
"Timestamp": "2016-08-08T22:51:00Z",
"Maximum": 0.17,
"Unit": "Percent"
}
],
"Label": "CPUUtilization"
}
但是不应该在1分钟内返回带有时间戳的数据点吗?
答案 0 :(得分:2)
无法从Amazon CloudWatch中检索实际数据点。
相反,CloudWatch会在一段时间内提供汇总指标(例如,Average,SampleCount,Sum)。
Amazon CloudWatch根据您在
GetMetricStatistics
调用中指定的期间长度汇总统计信息。您可以使用相同或相似的时间戳发布任意数量的数据点。当您使用GetMetricStatistics
获取有关这些数据点的统计信息时,CloudWatch会按周期长度对它们进行聚合。
但是,正如您所指出的,CloudWatch应该在给定的时间段内返回多个值。
我接受了你的命令并在我的一个实例上运行它。我发现,通过延长时间范围,我可以得到多个值:
{
"Datapoints": [
{
"Timestamp": "2016-08-08T22:52:00Z",
"Maximum": 0.0,
"Unit": "Percent"
},
{
"Timestamp": "2016-08-08T22:47:00Z",
"Maximum": 0.17,
"Unit": "Percent"
},
{
"Timestamp": "2016-08-08T22:42:00Z",
"Maximum": 0.16,
"Unit": "Percent"
},
{
"Timestamp": "2016-08-08T22:37:00Z",
"Maximum": 0.17,
"Unit": "Percent"
}
],
"Label": "CPUUtilization"
}
请注意,我的数据点仅返回每5分钟。这是因为Amazon EC2实例的标准监控仅每5分钟捕获一次指标。要以1分钟为间隔获取指标,您需要Enable Detailed Monitoring。 (额外收费。)