Аварийные сигналы CloudWatch — это строительные блоки инструментов мониторинга и реагирования в AWS. Ознакомьтесь с ними, создав оповещение Amazon CloudWatch для инстанса EC2.
Допустим, ваша команда создала новое популярное приложение. Однако ошибка в коде не позволяет закрыть завершенные сеансы, и они продолжают потреблять ресурсы ЦП. Все эти потраченные впустую ресурсы могут в конечном итоге помешать пользователям начинать новые сеансы.
Хотя саму ошибку можно легко исправить, проблему загрузки ЦП можно решить с помощью системы уведомлений.
В AWS эту задачу можно решить с помощью будильника CloudWatch. Если настроено отслеживание определенной метрики, CloudWatch уведомляет вас, если эта метрика превышает определенный порог. Давайте посмотрим, что делают различные сигналы тревоги CloudWatch, когда их использовать и как настроить их на инстансе EC2 .
Типы оповещений CloudWatch
Для небольших инфраструктур оповещения CloudWatch — отличный способ сообщить администраторам, требует ли внимания конкретный компонент. В крупной инфраструктуре, особенно там, где экземпляры EC2 создаются и уничтожаются автоматически и часто, найти проблемы будет сложно. Вот почему AWS предлагает стандартные сигналы тревоги CloudWatch и составные сигналы тревоги.
Составные сигналы тревоги оповещают вас только в том случае, если срабатывает один или несколько сигналов тревоги CloudWatch. Вы можете установить отдельные будильники для каждого региона или зоны доступности . Эти предупреждения действуют только в том случае, если ошибки обнаруживаются одновременно в нескольких разных экземплярах, а не в каждом отдельном экземпляре.
Прежде чем настраивать новый сигнал тревоги CloudWatch в своей учетной записи AWS, вам потребуются две вещи:
- Экземпляр EC2. Вы можете настроить оповещения CloudWatch для любого количества ресурсов AWS, но в этой статье основное внимание уделяется EC2 под управлением Ubuntu Linux. Вы можете подключиться к экземпляру через SSH и изменить факторы, которые могут привести к срабатыванию сигнализации.
- Тема простой службы уведомлений. Интегрируйте тему SNS со сторонним инструментом, чтобы предупредить вашу команду по вызову или отправить себе электронное письмо при срабатывании будильника.
Как настроить будильник CloudWatch
Вот шаги для создания будильника.
Шаг 1. Перейдите на страницу CloudWatch в консоли AWS.
Шаг 2. На панели слева перейдите в «Тревоги» > «Все тревоги».
Шаг 3. В правом верхнем углу страницы нажмите «Создать будильник».
Шаг 4. Выберите метрику, которую должен отслеживать сигнал тревоги из развернутых ресурсов, нажав Выбрать метрику.
Шаг 5. Перейдите к EC2 > Показатели экземпляра.
Шаг 6. Перейдите к экземпляру, который вы хотите отслеживать.
Шаг 7. Выберите имя метрики «Использование ЦП» , которое соответствует этому экземпляру.
Шаг 9. Нажмите «Далее» и укажите действие, которое необходимо выполнить после достижения этого порога.
Шаг 10. Выберите In Alarm , чтобы тревога срабатывала при достижении порога ЦП.
Шаг 11. Найдите Отправить уведомление в следующую тему SNS и выберите тему SNS, созданную ранее. Вы можете добавить другие действия, чтобы выполнить или удалить действие SNS. Затем нажмите «Далее» .
Шаг 12. Назовите свой будильник, а затем напишите и сохраните его описание. Сначала ваш будильник показывает статус « Недостаточно данных» . Это ожидаемо; по умолчанию он опрашивает метрики вашего экземпляра только каждые 5 минут, но вы можете выбрать частоту до 10 секунд. Если вы не изменили время опроса при настройке будильника, возьмите себе кофе, и к тому времени, когда вы вернетесь, статус должен быть «ОК » .
Как проверить оповещение
Вы также можете протестировать сигнал тревоги, смоделировав всплеск загрузки ЦП, выполнив следующие действия:
Шаг 1. Установите инструмент stress-ng , чтобы перегрузить ЦП.
Шаг 2. Подключитесь к экземпляру с помощью SSH и запустите sudo apt update и sudo apt install -y stress , чтобы обновить репозиторий apt в Ubuntu.
Шаг 3. Установите инструмент командной строки для стресса; вы можете убедиться в этом, запустив стресс-версию.
Шаг 4. После того, как стресс установлен, вы можете запустить sudo stress —cpu 2 —timeout 1h . Это будет использовать два ядра вашего процессора на 100% в течение одного часа.
Шаг 5. Откройте другой терминал на этом экземпляре и используйте htop, кроссплатформенную интерактивную программу просмотра процессов, чтобы увидеть текущее состояние процессора и системной памяти. При запущенной нагрузке аварийный сигнал будет показывать увеличение использования ЦП при каждом опросе экземпляра, пока нагрузка не будет отключена.