2014-02-26 3 views
4

여러 데이터베이스에 대해 Boto를 사용하여 RDS Cloudwatch Metrics를 한꺼번에 가져오고 싶습니다.여러 인스턴스에 대한 RDS 메트릭 표시

지금까지 나는 단지이 같은 접근 방식을 사용하여 한 번에 하나의 인스턴스에 대한 통계를 얻을 수 있었다 :

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

내가 것 :

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'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' 
} 

]

그것이 가능이 같은 결과를 얻을 수 지정된 차원을 형성한다. 모든 DB에 대해 데이터를 가져 오지 않아도됩니다.

+0

RDS 용 Cloudwatch의 크기는 DB 클래스 및 DB 엔진입니다 .http : //docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide /rds-metricscollected.html – Guy

답변

2

나는 당신이 묻는 것을 할 방법이 없다고 생각합니다. 단일 DBInstanceIndentifier을 차원으로 지정하고 해당 DBInstance에 대한 특정 데이터를 가져 오거나 복수 DBInstanceIdentifiers을 지정하고 해당 차원에서 집계 된 메트릭 데이터를 가져올 수 있지만 단일 API에서 여러 개의 개별 차원을 요청할 방법이 없다고 생각합니다. 요구. 관심있는 각 특성 항목에 대한 호출을해야한다고 생각합니다.

관련 문제