2016-08-19 60 views
0

我想從我的EC2實例請求的CPU利用率和流動this Command Reference我使用下面的命令AWS CLI得到度量統計

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分鐘內用我的數據點返回時間戳?

回答

1

無法從Amazon CloudWatch檢索實際數據點

相反,CloudWatch在一段時間內提供彙總指標(例如平均值,採樣計數,總和)。

CloudWatch documentation

亞馬遜根據您的通話指定GetMetricStatistics週期長度CloudWatch的彙總統計。您可以使用相同或相似的時間戳發佈任意數量的數據點。當您通過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。 (需額外收費。)