У нас есть экземпляр EC2 (Ubuntu), в котором есть несколько приложений на основе Java, и в последнее время мы сталкиваемся с резкими скачками загрузки ЦП, которые вызывают один из наших сигналов тревоги Cloudwatch. К тому времени, как мы подходим к серверу, чтобы посмотреть на загрузку процессора, все успокоилось.
То, что мы хотели бы видеть в одном из электронных писем о тревоге, - это список запущенных процессов и их использование ЦП (%) на момент срабатывания тревоги. Это вообще возможно?
У меня нет опыта делать что-то подобное, но теоретически это возможно сделать с помощью существующих строительных блоков:
CloudWatch -> SNS -> HTTP/HTTPS -> homebrew webapp -> collect data and email it
Вы можете объединить это с предложением использовать atop
и настройте свое веб-приложение для отправки последних N-минутных выходных данных.
Я предлагаю вам попробовать использовать учет процессов и запускать поверх для сбора снимков системных данных каждые 10 минут (по умолчанию) или уменьшить 5 минут, если вам нужно лучшее разрешение.
apt-get install atop acct
Затем вы можете легко проверить, что происходило в какой-то момент, используя синтаксис вроде
atop -r atop.log.file -b 00:00 -e 00:05
пример выше покажет вам, что происходило в моментальном снимке использования системы с 00:00 до 00:05.
Чтобы ответить на ваш вопрос нет. Вы не можете настроить CloudWatch для вывода списка процессов на вашем сервере при достижении порогового значения. Для этого вам придется использовать какое-то другое программное обеспечение. CloudWatch записывает только метрики, например, если вы хотите знать, сколько процессов запущено, вы можете настроить CloudWatch для отслеживания этого.