Amazon web services AWS CLI获取度量统计信息
我试图从我的ec2实例请求Amazon web services AWS CLI获取度量统计信息,amazon-web-services,aws-cli,Amazon Web Services,Aws Cli,我试图从我的ec2实例请求CPUUtilization,下面我使用以下命令 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,
CPUUtilization
,下面我使用以下命令
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分钟内返回带有时间戳的数据点吗?无法从Amazon CloudWatch检索实际数据点 相反,CloudWatch提供了一段时间内的聚合度量(例如平均值、样本数、总和) 从: 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分钟返回一次。这是因为对AmazonEC2实例的标准监控每5分钟只捕获一次指标。要以1分钟的间隔获取度量,您需要。(额外费用适用。)