AWS CloudWatch API: получение метрик всей базы данных

Я работаю над многопользовательским приложением, которое создает базы данных на основе MySQL RDS для арендаторов. На один экземпляр БД RDS можно создать множество таких баз данных — они довольно малы, а минимальный размер экземпляра БД составляет 5 ГБ.

Чтобы предоставить статистику использования для каждого арендатора, я собираюсь собирать показатели CloudWatch (такие как DatabaseConnections, ReadIOPS и т. д.) для каждой из баз данных арендаторов.

Проблема в том, что я не могу понять, как получить статистику по всей БД. Похоже, что CloudWatch API предоставляет метрики только для уровня экземпляра БД, а не для конкретных баз данных.

Есть ли способ получить эту статистику? Или может быть какой-то обходной путь доступен? Буду рад услышать любые советы.


person maxnk    schedule 20.12.2011    source источник


Ответы (1)


Насколько я понимаю, вы хотите внедрить «Пользовательские метрики» для облачных часов. Вот поток, который вы можете реализовать. Я взялся за то же самое, и он работает круто (попробовал с командой df -h для понимания использования диска для каждого раздела моего экземпляра aws)

  1. подключиться к сервису ec2 с помощью amazon api (спокойно)

  2. получить каждый экземпляр и найти их IP-адреса (либо закрыть, либо отфильтровать из доступного списка позже).

  3. используйте ключ безопасности (файл pem), чтобы установить ssh-соединение с IP с шага 2 (предполагается, что он работает с БД)

  4. используйте удаленную команду (используя ssh), чтобы получить свои пользовательские показатели.

  5. отформатируйте вывод предыдущего шага и отправьте его в cloudwatch.

  6. периодически повторяйте шаги 4,5, чтобы получить функционал пользовательской метрики.

person Nilakhya Chatterjee    schedule 18.01.2012