Как получить метрику TotalStorageSpace или UsedStorageSpace из AWS RDS?

Я вижу, что AWS RDS предоставляет FreeStorageSpace метрику для мониторинга использования диска. Сейчас я пытаюсь создать общее упреждающее оповещение для всех моих RDS, но установка идеального порога для FreeStorageSpace не имеет смысла.

Например, 20 ГБ может быть хорошим порогом для RDS, имеющего общее дисковое пространство как 100 ГБ, но может вводить в заблуждение для RDS с общим дисковым пространством 40 ГБ.

Поэтому мне было интересно, есть ли способ получить метрику TotalStorageSpace или UsedStorageSpace из RDS (прямо или косвенно).

Обновить

Поскольку установлен факт, что FreeStorageSpace является единственной метрикой, предоставляемой RDS, связанной с дисковым хранилищем, какие-либо идеи о том, можно ли / как мы можем создать настраиваемую метрику для TotalStorageSpace или UsedStorageSpace?

p.s .: Создание отдельных сигналов тревоги для каждого RDS для оценки процента использования диска кажется такой тратой времени и ресурсов.


person codersofthedark    schedule 01.11.2019    source источник


Ответы (3)


Согласно документ FreeStorageSpace - единственные метрики StorageSpace, которые вы можете получать.

Я могу только предположить, что их логика заключается в том, что вы знаете, сколько у вас общего пространства, и, имея значение FreeStorageSpace, вы также можете рассчитать, сколько его используется.

person dmigo    schedule 01.11.2019
comment
поскольку общее пространство будет разным для каждой RDS, и мы хотим создать generic предупреждение: можно ли разработать TotalStorageSpace в качестве настраиваемой метрики? - person codersofthedark; 01.11.2019

Во-первых, вы можете проверить информацию о хранилище в разделе мониторинга AWS RDS.

введите здесь описание изображения

Теперь я пытаюсь создать общее упреждающее оповещение для всех моих RDS, но установка идеального порогового значения для FreeStorageSpace не имеет смысла. Например, 20 ГБ может быть хорошим порогом, если RDS имеет общее дисковое пространство как 100 ГБ, но может вводить в заблуждение для RDS с общим дисковым пространством 40 ГБ.

Если размер хранилища отличается, вам необходимо настроить несколько сигналов тревоги в зависимости от размера. Универсальный не подойдет, так как не принимает проценты.

Как создать оповещения CloudWatch для мониторинга Amazon RDS освободить место для хранения и предотвратить проблемы с заполнением памяти?

Краткое описание

Создавайте сигналы тревоги в консоли CloudWatch или используйте интерфейс командной строки AWS (AWS CLI) для создания сигналов тревоги, которые отслеживают свободное место в хранилище. Создавая аварийные сигналы CloudWatch, которые уведомляют вас, когда метрика FreeStorageSpace достигает определенного порогового значения, вы можете предотвратить проблемы с заполнением хранилища. Это может предотвратить простои, возникающие, когда в вашем экземпляре БД RDS заканчивается хранилище.

Решение Откройте консоль CloudWatch и выберите «Сигналы тревоги» на панели навигации. - Выберите «Создать сигнал тревоги» и выберите «Выбрать показатель».

  • На вкладке Все показатели выберите RDS.

  • Выберите метрики для каждой базы данных.

  • Найдите показатель FreeStorageSpace.

  • Для экземпляра, который вы хотите отслеживать, выберите метрику FreeStorageSpace идентификатора экземпляра БД.

  • В разделе «Условия» настройте порог. Например, выберите «Нижнее / равное», а затем укажите пороговое значение.

Примечание. Вы должны указать значение параметра в байтах. Например, 10 ГБ - это 10737418240 байт.

Для получения дополнительной информации вы можете проверить storage-full-rds -cloudwatch-alarm

person Adiii    schedule 01.11.2019
comment
один из способов - запросить RDS и создать свой собственный сигнал тревоги. aws.amazon.com/premiumsupport/knowledge-center / - person Adiii; 01.11.2019

Если вы включите расширенный мониторинг, журнал RDSOSMetrics группа в Cloudwatch Logs будет иметь подробные сообщения журнала JSON, которые включают статистику файловой системы. В итоге я создал фильтр показателей Cloudwatch Logs, чтобы извлечь значение usedPercent из атрибута fileSys для корневой файловой системы. По крайней мере, для Postgresql эти подробные журналы включают как /, так и /rdsdbdata файловые системы; последний представляет интерес с точки зрения места для хранения.

Вы можете создать фильтр показателей в форме {$.instanceID = "My_DB_Instance_Name" && $.fileSys[0].mountPoint = "/rdsdbdata"} и соответствующее значение показателя $.fileSys[0].usedPercent, чтобы получить процент использованного хранилища для данного экземпляра. Затем это будет доступно как метрика журнала, которую вы можете использовать для срабатывания сигнализации. Вероятно, вам потребуется создать другую метрику, заменив filesystem[0] на filesystem[1], поскольку порядок для этого массива неизвестен. Вы, вероятно, захотите создать их для каждого экземпляра RDS, который у вас есть, чтобы вы знали, в каком из них заканчивается пространство, но ваш вопрос, похоже, указывает на то, что вы не хотите получать сигнал тревоги для каждого экземпляра.

Я полагаю, вы могли бы исключить $.instanceID из фильтра показателей и просто записать все значения в одну метрику. Когда он достигнет порога и сработает сигнал тревоги, вам нужно будет начать проверку, чтобы увидеть, какой экземпляр ответственен.

person alanc10n    schedule 24.06.2020