У меня есть экземпляр, работающий на Amazon EC2, который я превратил в веб-сервер.
Теперь я смотрел на cloudwatch, но не знаю, подходит ли это инструмент для работы. Обычно я хочу получать информацию, когда сервер не работает по какой-либо причине.
Может быть, сервер взломали или сервер отключился по какой-либо причине, я хочу получить уведомление об этом.
Я включил clouwatch и попытался настроить оповещение, но вижу только такие вещи, как вход в сеть или использование процессора и метрику. Теперь я не знаю, помогут ли они.
Одна из рекомендаций - отслеживать метрику, которая всегда должна иметь числовое значение, например использование ЦП, и запускать сигнал тревоги, когда состояние метрики - «недостаточно данных», вы можете использовать SNS Amazon, чтобы уведомить вас об этом.
В качестве альтернативы вы можете настроить пользовательские метрики, которые возвращают двоичное состояние для определенных служб (httpd, mysql и т. Д.) И генерируют предупреждение в любое время, когда любое из этих считываний 0. Этот подход предлагает возможность гораздо более подробной информации - объедините это с «недостаточными данными» 'чтобы охватить все случаи.
Вы можете добиться большего успеха, используя что-то, что действительно отслеживает ваш сайт (например, Pingdom, UptimeRobot и т. Д.).
Вы можете использовать OpsGenie (http://www.opsgenie.com) для отправки расширенного оповещения для CloudWatch. Currenly CloudWatch имеет ограниченный набор механизмов оповещения, включая электронную почту и SMS через механизм SNS.
Вы можете настроить CloudWatch для вызова API веб-сервисов OpsGenie, быстро получать уведомления нужных людей с помощью push-уведомлений для приложений iPhone / Android, SMS, голосовых вызовов и т. Д. В соответствии с предпочтениями получателей.
Пожалуйста, посмотрите следующую запись в блоге для получения подробной информации:
http://www.opsgenie.com/blog/2012/09/04/aws-cloudwatch-alarms-on-your-mobile-with-opsgenie.html
Вы можете создать будильник в Cloudwatch и настроить будильник, чтобы уведомлять вас, когда он переходит в состояние «Недостаточно данных». Большинство уже доступных метрик поступает от хоста виртуальной машины, который не имеет никакого реального представления о том, что происходит внутри вашего компьютера.
Для начала я бы порекомендовал установить инструменты Amazon в вашем экземпляре и настроить скрипт для отчета о чем-либо (что угодно: использование ЦП, что угодно) и оповещения, если эта метрика перестает отправлять данные (таким образом, метрика переходит в состояние «Недостаточно данных» ).
Это только минимум, но с него должно быть хорошо начать.
См. Раздел сценариев мониторинга в руководстве разработчика Cloudwatch: http://docs.amazonwebservices.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html
Вы можете использовать Route 53 и его «Проверки работоспособности». С его помощью вы можете отправлять оповещения в социальных сетях, а также перенаправлять пользователей на другой вторичный веб-сайт или на экран ошибки. Я думаю, что это лучшее решение вашей проблемы, чем Cloudwatch.
Вы можете реализовать Проверка статуса EC2. Это делается с приборной панели EC2. Перейдите к экземплярам, выберите свой экземпляр, выберите вкладку проверки состояния (рядом с описанием экземпляра). Нажмите на создание предупреждения о проверке состояния. По умолчанию «Проверка состояния не удалась (любой)» должна быть хорошей. Я всегда устанавливаю интервал больше единицы, чтобы меня не беспокоили временные проблемы.
Также можно установить EC2 на автоматически восстанавливать ваш экземпляр, если он по какой-то причине выходит из строя.
Я также рекомендую вторичную систему мониторинга. Тупой хорош для этого. Я установил утилиту linux, указанную на мой веб-сервер с другого хоста. Если дважды подряд не удается получить код ответа 200, я получаю электронное письмо.
Если вы хотите отслеживать конечные точки HTTP, такие как ваш API или веб-сайт, ознакомьтесь с моим сообщением в блоге о том, как этого добиться с помощью проверок работоспособности Route 53 (даже если вы не используете Route 53 для DNS):
http://eladnava.com/monitoring-http-health-email-alerts-aws/