Назад | Перейти на главную страницу

Мониторинг производства для инстансов EC2

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

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

  2. UNIX работает правильно? Это обычные вещи о загрузке процессора, дискового пространства и т. Д.

  3. Отвечает ли сайт? Если нет, перезапустите его.

Изначально я установил Nagios на физическом сервере вне облака, но на самом деле это полезно только для пункта 2. Он может сказать мне, ушел ли экземпляр или веб-сайт не отвечает, но насколько я могу судить, это возможно t выполнять какие-либо команды, чтобы исправить ситуацию.

Мой поиск в Google по этой теме дал множество вариантов - Cacti, Monit, God, Ganglia и, вероятно, многое другое, о чем я сейчас забываю. У меня нет времени исследовать их все. Мне известно об Amazon Cloudwatch, но он, похоже, не делает того, чего еще не делает моя установка Nagios.

Если у вас уже есть что-то подобное, не могли бы вы поделиться тем, что сработало для вас?

Я решил эту проблему с помощью Puppet ... Я создал свой собственный AMI, на котором установлен марионеточный клиент, и сценарий SysV-init для пользовательских данных, который устанавливает имя хоста перед запуском и включением марионеточного процесса.

Когда экземпляр EC2 подключается к puppetmaster, он передает свой текущий IP-адрес, и я могу использовать его для создания шаблона конфигурации Nagios узлов EC2. При изменении IP-адреса файл конфигурации Nagios обновляется, и Puppet инициирует перезапуск Nagios.

Для перезапуска экземпляра EC2 потребуются инструменты API EC2, установленные на панели мониторинга, и настройка чего-то для автоматизации процесса загрузки экземпляра. Я создал сценарий ruby, который делает это и устанавливает содержимое пользовательских данных для каждого хоста, который запрашивается для запуска.

Monit должен делать большую часть того, что вам нужно. Если вам нужно что-то более продвинутое, но более конкретно адаптированное для EC2, взгляните на услуги, предлагаемые RightScale или Скалер (конкурент с открытым исходным кодом для RightScale).

Отказ от ответственности, я менеджер сообщества Zenoss.

Зеносс сделает именно то, о чем вы просите.

1) Специально для мониторинга инстансов EC2 существует Zenoss ZenPack: http://community.zenoss.org/docs/DOC-4423

2) Вы также можете отслеживать экземпляры, включив SSH и отслеживая их на уровне ОС. Таким образом я сделал Debian, Ubuntu, CentOS и OpenSolaris на EC2.

3) Вы можете отслеживать веб-сайт по процессу, проверяя страницу или синтетический переход. В ответ на события в Zenoss вы можете вызвать команду события, например «/etc/init.d/apache restart», чтобы перезапустить вышедший из строя веб-сервер (или что-нибудь еще, что вы можете создать скриптом).

Проверьте это на http://zenoss.org

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

http://www.pingdom.com/

У них даже есть приложения для Android и iPhone (которые работают очень хорошо), которые уведомят вас, когда ваш сайт выйдет из строя.

И для полного раскрытия нет, я на них не работаю или что-то в этом роде. Я просто увлеченный покупатель :)