Поиск по сайту:

Как создать оповещения Cloudwatch для таблицы DynamoDB на AWS


На этой странице

  1. Предварительные условия
  2. Что будем делать?
  3. Войти в AWS
  4. Создайте оповещение для существующей таблицы DynamoDB.
  5. Заключение

Для мониторинга таблиц DynamoDB данные метрик автоматически отправляются в CloudWatch. Ниже приведены метрики, агрегированные с интервалом в одну минуту для таблиц DynamoDB.

  1. ConditionalCheckFailedRequests: возвращает количество неудачных попыток выполнить условную запись.
  2. ConsumedReadCapacityUnits: возвращает количество единиц емкости чтения, использованных для отслеживания того, какая часть подготовленной пропускной способности используется за указанный период времени.
  3. ConsumedWriteCapacityUnits: количество единиц емкости записи, использованных для отслеживания того, какая часть подготовленной пропускной способности используется за указанный период времени.
  4. ReadThrottleEvents: количество запросов к DynamoDB, которые превышают предоставленные единицы емкости чтения для таблицы.
  5. ReturnedBytes: возвращает количество байтов, возвращенных операциями GetRecords за указанный период времени.
  6. ReturnedItemCount: возвращает количество элементов за указанный период времени, возвращенных операциями Query, Scan или ExecuteStatement.
  7. ReturnedRecordsCount: количество записей потоков за указанный период времени, возвращенных операциями GetRecords.
  8. SuccessfulRequestLatency: это указывает на успешные запросы к Amazon DynamoDB Streams или DynamoDB в течение указанного периода времени.
  9. Системные ошибки. Здесь указывается количество запросов к Amazon DynamoDB Streams или DynamoDB в течение указанного периода времени, при которых генерируется код состояния HTTP 500.
  10. TimeToLiveDeletedItemCount: показывает количество элементов, удаленных Time to Live в течение указанного периода времени, чтобы помочь вам отслеживать скорость удаления Time to Live в вашей таблице.
  11. ThrottledRequests: показывает количество запросов к DynamoDB, которые превышают предоставленные ограничения пропускной способности.
  12. Конфликт транзакций: возвращает количество отклоненных запросов на уровне элемента из-за конфликтов транзакций.
  13. UserErrors: количество запросов к Amazon DynamoDB Streams или DynamoDB за указанный период времени, при которых генерируется код состояния HTTP 400.
  14. WriteThrottleEvents: показывает количество запросов к DynamoDB, которые превышают предоставленные единицы емкости записи для таблицы.

Есть и другие показатели с гранулярностью агрегирования 5 минут. Чтобы узнать больше о метриках, доступных для таблицы DynamoDB, посетите официальную документацию здесь.

В этой статье мы создадим оповещение для таблицы DynamoDB, чтобы отслеживать \ConsumedWriteCapacityUnits\ и отправлять уведомление в тему SNS. Прежде чем мы продолжим, предполагается, что вы знакомы с таблицами DynamoDB и темами SNS. Кроме того, предполагается, что у вас есть хотя бы одна таблица DynamoDB и тема SNS.

Предпосылки

  1. Аккаунт AWS (создайте, если у вас его нет).
  2. Таблица DynamoDB (нажмите здесь, чтобы узнать, как создать таблицу DynamoDB с помощью Terraform).
  3. Тема SNS (нажмите здесь, чтобы узнать, как создать тему SNS с помощью Cloudformation)

Что мы будем делать?

  1. Войдите в AWS.
  2. Создайте сигнал тревоги для существующей таблицы DynamoDB.

Войти в АВС

Нажмите здесь, чтобы перейти на страницу входа в AWS.

Вы увидите страницу входа в систему, как показано ниже, когда вы нажмете на ссылку выше. Введите свои учетные данные, чтобы войти в свою учетную запись AWS.

После успешного входа в свою учетную запись вы увидите основную консоль управления AWS, как показано ниже.

Создайте сигнал тревоги для существующей таблицы DynamoDB.

Найдите \Cloudwatch\ в поле поиска в верхней части экрана.

Вы увидите панель управления Cloudwatch следующим образом. Нажмите \Тревоги\ на левой панели.

На этом экране вы увидите существующие будильники в своем аккаунте. Чтобы создать новый будильник для существующей таблицы DynamoDB, нажмите кнопку «Создать будильник».

Вы получите экран для указания показателей и условий для создания сигнала тревоги. Нажмите кнопку \Выбрать показатель\.

В поле поиска найдите «dynamodb», чтобы отфильтровать показатели. Нажмите \DynamoDB > Метрики таблиц\, чтобы просмотреть доступные метрики для существующих таблиц DynamoDB.

Теперь вы увидите показатели, доступные для существующих таблиц DynamoDB. Вы можете выбрать любой из них, чтобы создать сигнал тревоги. Здесь я продолжу с \ConsumedWriteCapacityUnits\. Нажмите кнопку \Выбрать показатели\, чтобы продолжить.

Выберите желаемую статистику, тип порога, условие тревоги и пороговое значение. Здесь сигнал тревоги будет срабатывать, если значение Sample Count для ConsumeWriteCapacityUnits больше 5 в течение 5 минут.

Выберите триггер состояния тревоги и тему SNS. При срабатывании будильника он перейдет в состояние «В тревоге» и отправит уведомление в указанную тему SNS.

Добавьте имя и описание к создаваемому будильнику и нажмите кнопку \Далее\.

Просмотрите все конфигурации, прежде чем создавать сигнал тревоги. Как только конфигурации будут выглядеть нормально, нажмите кнопку «Создать будильник».

После создания будильника вы можете увидеть его в консоли «Тревоги». В зависимости от порогового значения и условия состояние тревоги будет меняться. Поскольку условие уже выполнено, вы можете видеть, что будильник находится в состоянии \Тревога\.

Это вызвало тревогу, и уведомление было отправлено на подписку указанной темы SNS.

Заключение

В этой статье мы создали сигнал тревоги для метрики «ConsumedWriteCapacityUnits». Этот сигнал тревоги срабатывает, когда \Количество образцов\ \Больше\, чем пороговое значение \5\ в течение периода \5 минут\. Мы также видели, что уведомление отправляется подписке на тему SNS при срабатывании будильника. Теперь вы можете использовать одни и те же шаги и создавать сигналы тревоги для разных показателей, статистики, типа/значения порога.