Domoticz. Автоматически перезапускаем сервис Domoticz в случае аварийного отключения


Использовать будем программу Monit.

Установка Monit

Monit устанавливается командой:

sudo apt-get install monit

Настройка Monit

Настройки Monit хранятся в файле /etc/monit/monitrc.

Откроем его редактором nano:

sudo nano /etc/monit/monitrc

Отредактируем некоторые строки.

В строке

set daemon 120

Изменим значение параметра на 300 для проверки сервисов каждые 5 минут

set daemon 300

Отредактируем строку

# with start delay 240

Уберем символ комментария "#" и изменим значение параметра на 300 для задержки проверки сервисом после старта Monit

with start delay 300

Если необходимо изменить расположение файла журнала Monit отредактируйте строку:

set logfile /var/log/monit.log

Настройка Web-интерфейса

Для настройки Web-интерфейса отредактируйте строки:

# set httpd port 2812 and
#    use address localhost # only accept connection from localhost

#    allow localhost            #allow localhost to connect to the server and
#    allow admin:monit      # require user 'admin' with password 'monit'

Следующим образом:

set httpd port 2812 and
use address 0.0.0.0
allow 0.0.0.0/0.0.0.0
allow admin:monit

Сохраните изменения в файле и закройте его (Crtl+O, Crtl+X). Перезагрузите Monit командой:

sudo service monit reload

Web-интерфейс будет доступен по адресу: http://"IP_АДРЕС_СЕРВЕРА":2812/

Добавляем Domoticz в список сервисов для мониторинга

Откроем файл с настройками Monit командой:

sudo nano /etc/monit/monitrc

В конец файла добавим следующие строки:

check process domoticz with pidfile /var/run/domoticz.pid
start program = "/etc/init.d/domoticz.sh start"
stop program = "/etc/init.d/domoticz.sh stop"
if failed
url http://127.0.0.1:8080/json.htm?type=command&param=getversion
and content = '"status" : "OK"'
for 2 cycles
then restart
if 5 restarts within 5 cycles then exec "/sbin/reboot"

Сохраните изменения в файле и закройте его (Crtl+O, Crtl+X).

Проверьте файл на наличие синтаксических ошибок командой:

sudo monit -t

Перезагрузите систему командой:

reboot

После перезапуска системы Domoticz должен запуститься автоматически а в web-интерфейсе должно быть следующее:

Команды управления Monit

Запуск Monit:

sudo service monit start

или:

sudo /etc/init.d/monit start

Остановка Monit:

sudo service monit stop

или:

sudo /etc/init.d/monit stop

Вывод состояния Monit:

sudo monit status

Запустить все сервисы, добавленные для мониторинга:

sudo monit start all

Обновление Domoticz

Останавливаем Monit:

sudo /etc/init.d/monit stop

Останавливаем Domoticz:

sudo /etc/init.d/domoticz.sh stop

Обновляем Domoticz.

Запускаем Domoticz:

sudo /etc/init.d/domoticz.sh start

Запускаем Monit:

sudo /etc/init.d/monit start