Какой смысл использовать runit в сочетании с monit?

8

Я вижу много людей, использующих monit в сочетании с runit. Разве это не избыточно? Какой смысл использовать рунит? Это потому, что он более надежен при работе со службами (так как не использует pid-файлы)?

Спасибо!

Милан Новота
источник

Ответы:

4

Я никогда не слышал о рунит , но я большой пользователь Monit ...

Глядя runit, я вижу, что это замена инициализации. Я бы сказал, что большинство корпоративных систем используют Sys V init или Upstart по умолчанию . Я не думаю, что это обычная практика, чтобы изменить это.

Тем не менее, связь здесь может заключаться в том, что runit обеспечивает удобный способ порождения Monit и обеспечения его работы. Возможно, похоже на запуск Monit из inittab. По сути, это «наблюдение за наблюдателем» или мониторинг вашей системы мониторинга.

На практике я использую Monit в качестве демона, и у меня не было проблем с тем, чтобы он завис или был убит. Возможно, привлекательность в runitтом, что он предлагает дополнительную защиту.

Что касается Monit, он хорошо работает с сопоставлением с шаблоном имени процесса вместо файлов PID .

ewwhite
источник
1

runit хорошо подходит для управления службами и ведения журналов, а также хорошо подходит для unix-way: легко комбинировать простые части по мере необходимости. Он может выполнять некоторые проверки и обрабатывать события, связанные с запуском / остановкой службы, но вам придется самостоятельно все это писать. Примечание: runit не работает, если ваш сервис не может работать на переднем плане.

monit подходит для управления службами (но не так хорош, как runit, потому что вам придется самостоятельно обрабатывать демонизацию и регистрацию), а также хорошо работает с процессами само-демонизации, если они предоставляют правильный pidfile. С другой стороны, он отлично подходит для просмотра сервисов: обработки событий, проверки на утечки памяти и тому подобное. Кроме того, он имеет удобную панель мониторинга для просмотра состояний служб (как на основе командной строки, так и на основе веб-интерфейса) и коммерческую панель мониторинга m / monit для получения данных с нескольких серверов.

Таким образом, использование runit + monit становится следующим:

  • runit используется для наблюдения за сервисом, регистрации, автоматического перезапуска и тому подобного
  • monit используется для уведомлений об изменениях состояния сервиса, более расширенных проверках и базовом мониторинге сервиса
timurb
источник