Новое приложение SUPERVISOR позволяет вам быстро и интуитивно управлять своими умными зданиями со смартфонов и планшетов, как когда вы находитесь внутри них, так и удаленно, благодаря интеграции с контролирующими веб-серверами и облачной платформой Domotica Labs.
У вас есть система домашней автоматизации KNX или MyHOME или технологическая система, основанная на одном или нескольких из многочисленных протоколов, с которыми мы совместимы? Позвольте вашему установщику установить и настроить один из наших надзорных веб-серверов — IKON SERVER или PIKO — и получить полный контроль над ним благодаря этому приложению.
SUPERVISOR позволяет одновременно управлять более чем одной системой домашней автоматизации, благодаря возможности хранения данных доступа нескольких веб-серверов; приложение автоматически устанавливает наилучшее соединение (локальное через WIFI или удаленно) в зависимости от того, где вы находитесь.
Благодаря интеграции с облачной платформой Domotica Labs, SUPERVISOR обеспечивает доступ к различным системам без какого-либо вмешательства в интернет-маршрутизатор. Кроме того, можно управлять наиболее часто используемыми функциями прямо с главного экрана приложения без необходимости подключения к самой системе.
SUPERVISOR Interview Questions and ANSWERS! (How to PASS your Supervisor Interview!)
SUPERVISOR также является незаменимым инструментом для установщиков и системных интеграторов, которые с помощью этого приложения могут проверять правильное рабочее состояние всех систем домашней автоматизации, за обслуживание которых они отвечают, предвидя запросы на поддержку своих клиентов и предлагая оптимальные решения. крайний сервис, экономия времени и оптимизация поездок.
SUPERVISOR и веб-серверы наблюдения Domotica Labs позволяют управлять технологическими системами любого типа здания:
— Жилой
— Офисы
— высшее
— Коммерческие здания
— Промышленные здания
Возможности, которыми можно управлять, самые разнообразные:
— Подсветка (вкл / выкл, диммер, DALI, RGB, DMX)
— Двигатели
— Управляемые розетки
— Климат-контроль
— Орошение
— Сценарии
— Власть
— Контроль нагрузки
— Защита от вторжений
— Видеонаблюдение
— Аудио видео
Источник: play.google.com
Устанавливаем и настраиваем Supervisor
Supervisor — это система клиент/сервер, при помощи которой пользователь (администратор) может контролировать подключенные процессы в системах типа UNIX. Инструмент создает процессы в виде под-процессов от своего имени, поэтому имеет полный контроль над ними. В основном Supervisor служит для инициализации, автозапуска, управления процессом. Это простой и достаточно мощный инструмент для контроля процессов. С правильной настройкой он может обеспечить бесперебойную работу вашего веб-сервиса.
Supervisor состоит из серверной части под названием supervisord, которая создает и управляет всеми процессами, и системного/веб-интерфейса supervisorctl для управления и мониторинга supervisord.
SUPERVISOR ► Линуксовые Фишечки #13
На этом думаю хватит, за более подробной информацией сюда http://supervisord.org/introduction.html.
Ниже приведенная информация актуальна для Debian 9.
Установка
sudo apt-get install supervisor
Теперь перейдём к файлам конфигураций.
Главный файл конфигурации находится по адресу /etc/supervisor/supervisord.conf.
Но нас больше интересует директория /etc/supervisor/conf.d, в которой мы будем создавать отдельные файлы конфигураций. Лучше сразу проверить, подключаются ли конфиги из этой директории, для этого открываем файл /etc/supervisor/supervisord.conf и ищем там следующие строчки:
[include] files = /etc/supervisor/conf.d/*.conf
Если закомментировано — раскомментировать, если нет — добавить.
Запускаем все процессы supervisor:
sudo supervisorctl start all
Супер визор запущен! Теперь нужно создать файл конфигурации для процесса, которым мне надо управлять. Переходим в директорию /etc/supervisor/conf.d и создаём там файл comments-worker.conf это и будет конфиг для моего процесса.
Открываем файл на редактирование и пишем (все на моём примере):
[program:comments-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/master/data/www/laravel-test.local/site/artisan queue:work redis —queue=comments —sleep=3 —tries=3 autostart=true autorestart=true user=new_user_2 numprocs=2 stdout_logfile=/var/www/master/data/www/laravel-test.local/site/worker.log stopwaitsecs=3600
Разберём данный файл конфигурации:
[program:comments-worker] — comments-worker в данном случае это название воркера, который будет запущен для процесса и к которому будут относиться все последующие параметры секции.
numprocs — кол-во воркеров которые будут запущены для данного процесса.
process_name — шаблон именования воркеров.
command — команда которая запускает нужный процесс. В моём случае я запускаю процесс слушателя очереди на Redis.
autostart — авто запуск процесса при запуске supervisor.
autorestart — перезапуск воркера, если тот по какой-то причине упал.
user — запуск процесса под определенным пользователем.
stdout_logfile — путь к файлу логов, если не указан или установлен как AUTO — выбирается автоматически, если NONE — файл логов не создаётся.
stopwaitsecs — если процесс будет выполнятся дольше заданного времени, Supervisor убьёт этот процесс.
Каждый раз после редактированиядобавления конфигураций, перезапускаем Supervisor:
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl restart all
В этом небольшом примере, я управляю процессом слежения за очередью на Redis, и с помощью воркера запускаю процесс php artisan queue:work redis —queue=comments —sleep=3 —tries=3 .
Более подробно о командах можно почитать в официальной документации.
Так как это только моё первое знакомство с Supervisor, со временем заметка возможно будет дополнена. Если есть замечания или дополнения — обязательно пишите в комментарии.
Источник: drozdoff.pro
Управляем процессами с Supervisor
Supervisor — демон, который управляет процессами в системе, позволяет отслеживать их состояние, в случаи непредвиденного выхода — перезапускать. Особая популярность применения как правило связана с внешними скриптами, которые необходимо запускать по определенным правилам и отслеживать их состояние. Например, с статье Gearman: распределяем задачи мы используем воркеты, их стоит поместить в окружение Supervisor.
Кроме демона система оснащена веб-интерфейсом и консольной утилитой supervisorctl: для мониторинга и управления процессами .
Установка supervisor.
Как правило пакет «supervisor» присутствует в системных репозитариях, однако стоит обратить внимание на версию. В связи с развитием проекта, на момент написания статьи, нас интересует 3 версия. К сожалению CentOS ставит вторую версию пакета, по этому перед выполнением команд следуют убедиться, что пакет не установлен или если установлен и версия ниже 3-й — удалить.
Непосредственно установка:
#yum install python-setuptools #easy_install supervisor # supervisord —version 3.1.3
#yum install python-setuptools #easy_install supervisor # supervisord —version 3.1.3
Easy Install не создает нам конфигурационный файл и файл запуска демона:
Исправим это недоразумение.
echo_supervisord_conf > /etc/supervisord.conf
В конфигурационном файле снимаем комментарий с «[include]»:
[include] files = /etc/supervisord.d/*.conf
[include] files = /etc/supervisord.d/*.conf
Скрипт запуска помещаем в /etc/rc.d/init.d/supervisord:
#!/bin/bash . /etc/init.d/functions DAEMON=/usr/bin/supervisord PIDFILE=/var/run/supervisord.pid [ -x «$DAEMON» ] || exit 0 start() { echo -n «Starting supervisord: » if [ -f $PIDFILE ]; then PID=`cat $PIDFILE` echo supervisord already running: $PID exit 2; else daemon $DAEMON —pidfile=$PIDFILE -c /etc/supervisord.conf RETVAL=$? echo [ $RETVAL -eq 0 ] touch /var/lock/subsys/supervisord return $RETVAL fi } stop() { echo -n «Shutting down supervisord: » echo killproc -p $PIDFILE supervisord echo rm -f /var/lock/subsys/supervisord return 0 } case «$1» in start) start ;; stop) stop ;; status) status supervisord ;; restart) stop start ;; *) echo «Usage: » exit 1 ;; esac exit $?
Не забываем выдать права на запуск:
chmod 755 /etc/rc.d/init.d/supervisord
chmod 755 /etc/rc.d/init.d/supervisord
Применение на практике:
В папке /etc/supervisor/conf.d создаем необходимое нам задание на запуск.
Одиночное:
[program:gearman_client] command=/usr/bin/php gearman_client.php directory=/mnt/vhosts/httpdocs/ autostart=true autorestart=true
[program:gearman_client] command=/usr/bin/php gearman_client.php directory=/mnt/vhosts/httpdocs/ autostart=true autorestart=true
Или несколько потоков:
[program:yii-gearman-worker] command=/usr/bin/php /yii/yii gearman/start %(process_num)s directory=/mnt/vhosts/httpdocs/ process_name=gearman-worker-%(process_num)s priority=1 numprocs=3 numprocs_start=1 autorestart=true
[program:yii-gearman-worker] command=/usr/bin/php /yii/yii gearman/start %(process_num)s directory=/mnt/vhosts/httpdocs/ process_name=gearman-worker-%(process_num)s priority=1 numprocs=3 numprocs_start=1 autorestart=true
Проверяем что все работает:
# ps -ax| grep php Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ 11943 ? S 0:00 /usr/bin/php /mnt/vhosts/httpdocs/include/cron/gearman_client.php 12167 ? S 0:13 /usr/bin/php /home/vhosts/yii/yii gearman/start 1 12168 ? S 0:13 /usr/bin/php /home/vhosts/yii/yii gearman/start 3 12170 ? S 0:12 /usr/bin/php /home/vhosts/yii/yii gearman/start 2 16443 pts/3 S+ 0:00 grep php
# ps -ax| grep php Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ 11943 ? S 0:00 /usr/bin/php /mnt/vhosts/httpdocs/include/cron/gearman_client.php 12167 ? S 0:13 /usr/bin/php /home/vhosts/yii/yii gearman/start 1 12168 ? S 0:13 /usr/bin/php /home/vhosts/yii/yii gearman/start 3 12170 ? S 0:12 /usr/bin/php /home/vhosts/yii/yii gearman/start 2 16443 pts/3 S+ 0:00 grep php
Категория: Администрирование
Источник: shurshun.ru