Бог против Монит

Какой из них использовать для мониторинга процесса и почему?

6 ответов

Решение

Оба решения хороши, и для них есть свои плюсы и минусы.

Конфигурационный файл God написан на Ruby, так что вы можете делать практически все, что позволяет Ruby, и это очень много. Monit должен быть настроен с использованием собственного синтаксиса, обычно он в порядке, но более ограничен. В любом случае, вы также можете сгенерировать monit config с Ruby (как часть вашей стратегии развертывания).

Кроме того, monit использует меньше ресурсов, поэтому, если вы используете VPS или просто не имеете свободной памяти, monit может быть лучшим выбором. Лично я предпочитаю бога, так как он более настраиваемый.

Вот очень хороший скринкаст на бога. Там также много отзывов в комментариях к этому скринкасту.

Бог очень сильно теряет память, поэтому я выбрал Monit для своего VPS. Монит постоянно работает с 2 МБ ОЗУ, в то время как моя божественная установка на Ruby 1.8.6 просочилась до 60 МБ ОЗУ за 36 часов. Я не хотел следить за своим инструментом мониторинга системы, поэтому я выбрал Бога и перешел в Monit, и у меня не было абсолютно никаких проблем.

У Бога много проблем, в том числе:

  1. Утечка памяти
  2. Проблемы с остановкой и перезапуском

Я написал об этом на http://blog.bradgessler.com/use-monit-with-rails-not-god

Единственная реальная проблема с monit (если это проблема) состоит в том, что файлы конфигурации могут быть немного многословными, если вы используете большие кластеры, но это может быть решено с помощью системы шаблонов.

У меня было множество проблем, даже когда Бог вообще работал на моем выделенном сервере Ubuntu. В конце концов я просто сдался. Монит может не быть Руби, но это в основном без проблем.

Для любого, кто найдет этот пост в будущем, вы также можете рассматривать bluepill как альтернативу Богу. Хотя я надеюсь, что у Бога есть проблемы с памятью за последние два года, я знаю, что bluepill с самого начала был основан на небольшом следе. Несмотря на то, что bluepill все еще не такой маленький, как monit, он занимает вполне разумное место (~16 МБ VIRT, 13 МБ RES для меня).

Монит имеет свои проблемы:

  • Пустые файлы PID вызывают проблемы.
  • Если у вас несколько уровней зависимостей, он запускает приложения верхнего уровня при запуске зависимостей более низкого уровня. Это может быть полезно для некоторых вариантов использования, но не особенно гибко.

На данный момент я нахожу это довольно раздражающим. К счастью, вы можете немного пробраться через зависимости с помощью функции "групп", но это не особенно удовлетворительно. Во всяком случае, это мой взгляд на v5.1.1

Другие вопросы по тегам