Простой, но готовый к работе монитор процессов в Linux / Unix [закрыто]

8

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

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

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

Ответы:

2

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

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

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

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

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

Handyman5
источник
runitбудет альтернативой daemontools. Это также очень просто и низкоуровнево. По сути, все, что вам нужно для запуска процесса - это файл, содержащий некоторую команду exec, например, exec sleep 300Затем вы создаете символическую ссылку из каталога, содержащего скрипт запуска, /etc/service/nameи все готово.
Томбарт
1

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

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

Haqa
источник