Для некоторых целей оповещения и мониторинга я пытаюсь получить метрики RDS cloudwatch.
Существует около 50 экземпляров RDS, и они хотели бы получить метрики для всех из них за один вызов API (я использую boto3). Это мой код:
response = cloudwatch_client.get_metric_data(
MetricDataQueries=[
{
'Id': 'fetching_data_for_something',
'MetricStat': {
'Metric': {
'Namespace': 'AWS/RDS',
'MetricName': 'FreeStorageSpace',
'Dimensions': [
{
'Name': 'DBInstanceIdentifier',
'Value': '*'
},
]
},
'Period': 300,
'Stat': 'Average'
},
'ReturnData': True
},
],
StartTime=datetime(2019, 6, 11,13,0,0),
EndTime=datetime(2019, 6, 11,13,20,00),
ScanBy='TimestampDescending',
MaxDatapoints=123
)
Но это возвращает пустой результат, но когда я ищу конкретный экземпляр БД, он возвращает результат. Это работает:
'Dimensions': [
{
'Name': 'DBInstanceIdentifier',
'Value': 'name_of_db'
},
]
Но это не так:
'Dimensions': [
{
'Name': 'DBInstanceIdentifier',
'Value': '*'
},
]
Есть ли способ сделать это? Получить показатели для всех БД одновременно?