AWS CLI get-metric-statistics

3

我正在尝试从我的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,Value=i-myinstanceid

我的回复是:

{
    "Datapoints": [
        {
            "Timestamp": "2016-08-08T22:51:00Z",
            "Maximum": 0.17,
            "Unit": "Percent"
        }
    ],
    "Label": "CPUUtilization"
}

但是这个应该返回在一分钟内带有时间戳的数据点吗?
1个回答

2
无法从Amazon CloudWatch检索实际数据点。相反,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 分钟返回一次。这是因为 Amazon EC2 实例的标准监控仅每 5 分钟捕获一次指标。要获取每分钟间隔的指标,您需要启用详细监控。(额外收费。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接