В чем смысл использования runit в сочетании с monit?

В чем смысл использования runit в сочетании с monit?

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

Спасибо!

решение1

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

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

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

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

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

решение2

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

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

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

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

Связанный контент