Monit — программа, которая позволит мониторить состояние сервера, и если нужно перезапускать процессы, которые аварийно завершились. Программа добавлена в различные дистрибутивы Linux — Ubuntu, Debian, CentOS и другие. Так же пакет присутствует в FreeBSD. Monit — незаменимый помощник системного администратора по отслеживанию состояния сервера. Например, можно отслеживать состояние сервера, который мы используем для своего сайта, или почтового сервера.
Кстати в одной из предыдущих статей можно почитать об установке LEMP на DEBIAN (PHP7 + NGINX).
Установка:
apt-get install monit
Запуск:
service monit start
#или
/etc/init.d/monit start
Файл конфигурации:
/etc/monit/monitrc
Мониторинг:
monit status
Перезагрузить конфиги после изменения:
monit reload
Настройка веб-интерфейса Monit (позволяет посмотреть состояние сервера через браузер). Добавить следующие строки в файл конфигурации /etc/monit/monitrc
#в файл /etc/monit/monitrc добавить следующее:
set httpd port 2812 # порт можно указать свой
use address 99.99.99.99 # указать свой IP - чтобы только ты смог получить доступ
allow admin:password # защита паролем (admin - логин)
Настройка мониторинга PHP7.0-fpm (пример, аналогично можно настроить монитор любой программы). Добавить следующие строки в файл конфигурации /etc/monit/monitrc:
#Проверка PHP7.0-fpm
check process php7.0-fpm with pidfile /var/run/php/php7.0-fpm.pid
start program "/etc/init.d/php/php7.0-fpm start"
stop program "/etc/init.d/php/php7.0-fpm stop"
if cpu > 90% for 3 cycles then restart # если загрузка процессора более 90% в течение 3 проверок то перезапустить процесс.
if totalmem > 600.0 MB for 3 cycles then restart # если используется больше 600 MB памяти то перезапустить процесс.
if 5 restarts within 5 cycles then timeout # если 5 раз уже перезапускали процесс то сделать timeout.