Услуги по мониторингу процессов

Я смотрю на различные службы, которые помогают поддерживать процессы в рабочем состоянии (автоматический перезапуск в случае сбоя). Какие из них вы предпочитаете и каковы ваши пожелания / предложения? Вот несколько методов, которые я нашел:

  1. респаун в / etc / inittab
  2. контролировать с помощью daemontools
  3. запустить его
  4. выскочка
  5. монит

Лично у меня был плохой опыт работы с мониторами, которые не вызывали должным образом процессы, поэтому я должен рекомендовать это. В настоящее время я использую daemontools, и пока он работает довольно хорошо.

4 ответа

daemontools действительно хорошо себя зарекомендовали; я не думаю, что лицензия больше не является проблематичной.

И его FAQ сравнивает его с inittab, о котором вы спрашивали.

Если хочешь просто, я бы пошел с рунитом. Он будет перезапускать сервис один раз в секунду, пока он не будет постоянно включен, может заменить скрипты в /etc/init.d на небольшую ручную работу и будет иметь согласованную обработку.

Единственный недостаток, который у меня был, - это определение одноразовых постоянно работающих сервисов (сервисов, которые "запускаются", но в действительности выходят, оставляя флаг, что они "работают", т.е. /etc/init.d/networking на самом деле это не услуга, а действует как единое целое), есть некоторая рука, держащая это, чтобы получить такое поведение. Большинство людей вводят вторичный инструмент, чтобы приостановить выполнение скрипта, или бесконечный цикл с sleepи т. д., чтобы он не выходил из сценария. Когда вы выпускаете sv stop <service> затем он терминирует оболочку и все происходит "как обычно".

Quagga Routing Suite имеет watchquagga, который адаптирован к потребностям этого набора. Не уверен, что его можно использовать с любым общим демоном.

launchd решает эту проблему и многое другое. Согласно статье в Википедии:

Демон launchd по сути является заменой сценариев init, rc, init.d и rc.d, SystemStarter (Mac OS X), inetd и xinetd, atd, crond и watchdogd.

Это плодотворно в мире Mac, но это открытый исходный код, и нет никаких причин, по которым вы не можете использовать его в Linux. Ubuntu рассматривал возможность его использования, но в то время лицензия была несовместима (с тех пор она была заменена на лицензию Apache).

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