В предыдущей статье о Supervisor я рассказывал о том, как управлять запущенными через supervisorctl в консоли. Сегодня расскажу как запустить веб-интерфейс Supervisor и мониторить уже через веб, это может пригодится для тех пользователей, которым не стоит давать доступ по SSH, так как он просто им не нужен для работы, а смотреть процессы им надо.
Открываем на редактирование файл /usr/local/etc/supervisord.conf и приводим секцию inet_http_server к виду:
[inet_http_server]
port=127.0.0.1:9001
username=<username> ; Сам я не указываю username/password,
password=<password> ; так как использую "auth_basic" для всего хоста в Nginx
Настраиваем Nginx
Если вы не хотите использовать сабдомен для Supervisor, то вот такой конфиг вам поможет:
Я не пользовался uWSGI Emperor, но с виду тоже самое что и в случае с Supervisor. Встречный вопрос, какой смысл использовать Emperor, если есть Supervisor? То есть мне интересны превосходящие возможности Emperor.
Что касается вопроса, зачем у меня uwsgi запущен из под supervisor, то мне надо мониторить его, в том числе supervisor у меня подключен к Nagios и все это работает как единное целое. То есть uWSGI упал, я об этом узнал по смс, в тоже время supervisor его поднял и т.д. При этому мне не надо отдельно писать плагин для Nagios для отдельного uWSGI-демона и т.п.
А ты сам просто запускаешь uWSGI и никак его не мониторишь? Я просто все мониторю, что-то через supervisor, что-то через monit.
в uwsgi есть мастер процесс которые мониторит дочернии процессы и поыдмает его, шансов что он сдохнет примерно столько же, что и сдохнет супервизор) по крайней мере за пару лет ниразу полностью не падало, для меня упервизор стал лишней сущностью от которой я отказался.
А по поводу нотификаций о крашах, в uwsgi 1.4 появилась такая возможность как "alarm subsystem" , но сам не пользовался
Подскажите, а может supervisor управлять прогами, которые прописаны в автостарте или для которых я сделал скрипт для автостарта? И если можно подскажите ссылку где глянуть, спс
Комментарии
какой смысл использовать supervisor с uwsgi ? Он и так прекрасно работает как демон + есть emperor
Я не пользовался uWSGI Emperor, но с виду тоже самое что и в случае с Supervisor. Встречный вопрос, какой смысл использовать Emperor, если есть Supervisor? То есть мне интересны превосходящие возможности Emperor.
Что касается вопроса, зачем у меня uwsgi запущен из под supervisor, то мне надо мониторить его, в том числе supervisor у меня подключен к Nagios и все это работает как единное целое. То есть uWSGI упал, я об этом узнал по смс, в тоже время supervisor его поднял и т.д. При этому мне не надо отдельно писать плагин для Nagios для отдельного uWSGI-демона и т.п.
А ты сам просто запускаешь uWSGI и никак его не мониторишь? Я просто все мониторю, что-то через supervisor, что-то через monit.
в uwsgi есть мастер процесс которые мониторит дочернии процессы и поыдмает его, шансов что он сдохнет примерно столько же, что и сдохнет супервизор) по крайней мере за пару лет ниразу полностью не падало, для меня упервизор стал лишней сущностью от которой я отказался.
А по поводу нотификаций о крашах, в uwsgi 1.4 появилась такая возможность как "alarm subsystem" , но сам не пользовался
Спасибо за информацию!
Напиши еще, как можно использовать RPC интерфейс, будет интересно
Давай уже пиши про настоящий supervisor!
Напишу, статья в процессе, только она более общая по Erlang :-)
Подскажите, а может supervisor управлять прогами, которые прописаны в автостарте или для которых я сделал скрипт для автостарта? И если можно подскажите ссылку где глянуть, спс
Если у вас есть init-скрипты, то думаю лучше подойдет monit
Оставьте свой комментарий