8

Я ищу простой монитор процесса для моей учетной записи в популярном VPS. Я любил Supervisor и Monit, но они кажутся мне излишними.

Мне чего-то хочется

  1. он запускается как демон (поэтому моя учетная запись VPS может запустить его при загрузке, а также "запустить" cron в случае, если сам монитор отключается )
  2. который отслеживает, порождая вещи как подпроцесс (например, Supervisor) или выполняя команду опроса, которая возвращает истину или ложь (например, оператор BASH if)
  3. и прост в использовании (требуется минимальная конфигурация), и стабильно работает (почему-то мало программного обеспечения удовлетворяет обоим требованиям)
  4. Подходит для управляемого VPS-запуска в пользовательском режиме, минимальное использование памяти

3 ответа3

2

Вы ищете программу daemontools. (Если это то, что вы имели в виду под монитором "Супервизор", не стесняйтесь игнорировать остальную часть моего ответа.)

daemontools - это набор инструментов для управления сервисами UNIX.

Контролировать мониторинг службы. Он запускает службу и перезапускает службу, если она умирает. Настроить новую службу легко: все, что нужно для контроля - это каталог со скриптом запуска, который запускает службу.

multilog сохраняет сообщения об ошибках в одном или нескольких журналах. Он может указывать время каждой строки и для каждого журнала включает или исключает строки, соответствующие указанным шаблонам. Он автоматически поворачивает журналы, чтобы ограничить объем используемого дискового пространства. Если диск заполняется, он останавливается и пытается снова, не теряя данных.

Это просто, гибко и очень мощно. Основная идея заключается в том, что для каждой службы, которую вы хотите запустить, daemontools запускает дочерний процесс (называемый supervise), который затем запускает вашу службу. supervise настраивает переменные среды службы и uid/gid, а затем сохраняет стандарт службы открытым и открытым, чтобы она могла отправлять сигналы. Службе не нужно демонизировать себя, и вам не нужно управлять файлами pid. Основной сервис не требует root для запуска, и вы можете разместить каталоги отслеживаемых сервисов где угодно.

1

Ответ прост: у вас уже есть один - Каждая система Unix делает - init и /etc /inittab.

Работа init состоит в том, чтобы порождать процессы, перечисленные в inittab, отслеживать их и перезапускать, если они выходят.

-1

Вы смотрели на Монит? http://mmonit.com/monit/documentation/monit.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .