2014-02-26 75 views
4

我想一次使用Boto爲多個數據庫提取RDS Cloudwatch指標。顯示多個實例的RDS指標

到目前爲止,我只能夠使用這樣的方法在同一時間獲得指標只有一個實例:

botoRDS = boto.connect_cloudwatch(aws_access_key_id=Key, aws_secret_access_key=OtherKey) 

instanceStats = botoRDS.get_metric_statistics(period=60, 
       start_time=self.startTime, 
       end_time=self.endTime, 
       namespace="AWS/RDS", 
       metric_name='CPUUtilization', 
       statistics=["Average"], 
       dimensions={'DBInstanceIdentifier':['DB1','DB2']}) 

這是我得到什麼:

[ 
{ 
    u'Timestamp': datetime.datetime(2034,1,14,21,2), 
    u'Average': 45.1, 
    u'Unit': u'Percent' 
}] 

我會喜歡能夠返回的是兩個數據庫的平均值。事情是這樣的:

[ 
{ 
    u'Timestamp': datetime.datetime(2034,1,14,21,2), 
    u'DBInstanceID':'DB1', 
    u'Average': 33.02, 
    u'Unit': u'Percent' 
}, 
{ 
    u'Timestamp': datetime.datetime(2034,1,14,21,2), 
    u'DBInstanceID':'DB2', 
    u'Average': 45.1, 
    u'Unit': u'Percent' 
} 

]

是否有可能形成規定得到這樣的結果的尺寸。我真的很想不必爲每個數據庫提取數據。

+0

Cloudwatch for RDS的維度爲DB類和數據庫引擎-http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide /rds-metricscollected.html – Guy

回答

2

我不認爲有什麼辦法可以做你在問什麼。您可以指定一個DBInstanceIndentifier作爲維度並獲取該DBInstance的特定數據,或者您可以指定多個DBInstanceIdentifiers並獲取跨這些維度彙總的指標數據,但我認爲無法在單個API中請求多個單獨的維度呼叫。我認爲您必須打電話給您感興趣的每個特定維度。