Удостоверьтесь, что процесс всегда работает

Я попробовал Slitaz (страница Distrowatch), и это работало действительно хорошо на меня. Это чрезвычайно быстро на старых машинах с очень активным сообществом, плюс он берет меньше затем дисковое пространство 100 МБ.

23
07.06.2011, 00:44
9 ответов

Как насчет daemontools и конкретно контролировать инструмента

контролируйте контролирует сервис. Это запускает сервис и перезапускает сервис, если это умирает. Установка нового сервиса легка: все контролируют потребности, каталог со сценарием выполнения, который выполняет сервис.

13
27.01.2020, 19:42
  • 1
    +1 для daemontools. Однако Вы часто не можете только бросать сценарий как /etc/init.d/apachectl в него. Часто необходимо переписывать собственный простой сценарий запуска для использования exec. Хотя я хотел бы видеть, что еще некоторые примеры используют daemontools –  Stefan Lasiewski 20.08.2010, 21:33
  • 2
    daemontools имеет другое воплощение как runit. Не настолько важный теперь, когда daemontools является общественным достоянием, но более старым дистрибутивом, может только иметь runit. –  camh 22.08.2010, 12:08

переикра в inittab

8
27.01.2020, 19:42

Я второй daemontools предложение, но если Вам не нравится путь программное обеспечение DJB, работает (по любой причине), существует также supervisord.

Я настроил изображение FreeBSD некоторое время назад используемый supervisord справиться nginx и gunicorn, который я раньше размещал некоторые простые приложения WSGI, и целый процесс был довольно прост.

При выполнении этого для Django Gunicorn делает это действительно простым для развертывания приложений Django, btw. Дополнительную информацию см. в этом сообщении в блоге.

5
27.01.2020, 19:42

Другая опция могла состоять в том, чтобы использовать monit, который является тем, который я обычно использую.

4
27.01.2020, 19:42

В дополнение к daemontools и supervisord, существует daemonize.

0
27.01.2020, 19:42

Вы рассмотрели god?

Бог является легким для конфигурирования, легкий расширить контролирующую платформу, записанную в Ruby.

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

Я использую его, чтобы удостовериться, что, если экземпляры Rails/nginx падают, они восстанавливаются, и хотя я не вижу созданный в поддержке проверки, если это использует правильный порт или нет, но если проблема состоит в том, что процесс перестал работать или больше не работает, Вы не можете пойти не так, как надо с god.

3
27.01.2020, 19:42

hackish решение состояло бы в том, чтобы периодически запускать сценарий (через cron) это detecs, если процесс снижается, и в этом случае, повторно запускает его.

0
27.01.2020, 19:42

Простой ответ - запускает, пишет Ваш pid где-нибудь, и в каждый x раз (секунды, минуты, Ваша ставка) проверка, если процесс закончился.

Длинный ответ - все вышеупомянутое является хорошими методами. Но несколько сложный.

Также имейте в виду, что быть живым и ответ на запросы являются разными вещами.

-1
27.01.2020, 19:42
  • 1
    … и скрещивает Ваши пальцы и надеется, что ничто не набрасывает по файлу PID, или стирает его, или снова использует его для другого демона или повторно указывает на него на некоторый другой невинный и несвязанный процесс, который не будет реагировать хорошо на проверку на то, чтобы закончиться. ☺, Который является, почему длинный ответ надлежащего супервизора демона, который выполняет демонов как дочерние процессы и контролирует их с обычными системными механизмами Unix/Linux, является долго принятым лучшим путем. –  JdeBP 04.01.2015, 20:47

Существуют различные способы перезапустить неудавшегося демона, обычная рекомендация является "переикрой в inittab", но с некоторым рассмотрением предела, если машина действительно завинчена.

Сторожевой демон может также контролировать процесс через его файл PID. Однако это, как должны только полагать, как вторичную линию обороны перезагружает машину, которая слишком больна для выполнения правильно (например, из памяти, бомбившей ветвлением, и т.д.), и не как основной путь или контроль и перезапуск демона.

Наконец можно рассмотреть контролирующие сложные системы с помощью nagios для предоставления администратору (администраторам) глобальное представление. Это может выполнить плагины для зондирования операции демона внешне, который является более полным тестом ее функционирования что просто PID, являющийся живым.

0
27.01.2020, 19:42

Теги

Похожие вопросы