Логотип

Использование Monit для мониторинга+ автоматическую перезагрузку сервиса php7-fpm

Использование Monit для мониторинга+ автоматическую перезагрузку сервиса php7-fpm

Monit может быть использован для мониторинга ваших услуг на вашем VPS или выделенном сервере. Вы можете использовать Monit, чтобы убедиться, что php7-fpm всегда работает, а не остановлен или завис — это очень редко, но это лучше, чем потом сожалеть.

Monit проверит процесс php7-fpm, прослушав его сокет. Если сокет не может быть обнаружен, Monit перезапустит сервис php7-fpm. Таким образом, вы обеспечиваете свой веб — сайт, где возможно, работает WordPress, и всегда работают основные процессы.

Если вам нужно установить Monit на Ubuntu или Debian то следуйте этому руководству.

Использование Monit для мониторинга + автоматическую перезагрузку сервиса php7-fpm

Monit необходима информация, чтобы проверить, на наличие работающего php7-fpm.

Мы будем использовать сокет php7-fpm и его файл PID.

Нахождение php7-fpm или TCP сокета

php7-fpm может прослушивать либо сокеты Unix или TCP сокеты. Для того, чтобы выяснить, используем эту команду

grep "listen =" /etc/php/7.0/fpm/pool.d/www.conf

 

Если вы видите этот вывод, то php7-fpm использует UNIX сокеты

listen = /run/php/php7.0-fpm.sock

 

Если вы видите этот вывод, то php7-fpm использует TCP сокеты, интерфейс обратной петли 127.0.0.1 на порту 9000

listen = 127.0.0.1:9000

 

Нахождение файла Pid php7-fpm

Monit нужен файл PID:

sudo find /run -iname php*.pid

 

Читать  Добавление SFTP пользователя с необходимыми разрешениями для Nginx с PHP-FPM

Вы должны увидеть результаты, примерно такие

/run/php/php7.0-fpm.pid

 

Теперь мы имеем информацию, необходимую для настройки Monit для мониторинга php7-fpm.

Настройка Monit для мониторинга php7-fpm

Создайте конфигурацию Monit php7-fpm, вы можете использовать папку conf-enabled вместо,conf.d, откройте файл /etc/monit/monitrc для проверки.

sudo nano /etc/monit/conf.d/php7-fpm

 

Это конфигурация Monit php7-fpm для UNIX сокетов.

Он проверяет файл php7-fpm.pid и, если он не существует Monit попытается перезапустить его.

Monit также собирается проверить, что php7-fpm Unix сокет существует: /var/run/php7.0-fpm.sock

check process php7-fpm with pidfile /run/php/7.0/php7-fpm.pid
    start program = "/usr/sbin/service php7.0-fpm start" with timeout 60 seconds
    stop program  = "/usr/sbin/service php7.0-fpm stop"
    if failed unixsocket /var/run/php7.0-fpm.sock then restart

 

Если вы используете TCP сокеты, то это будет конфигурация Monit.

Monit ищет демон, который прослушивает 127.0.0.1 по порту 9000, если он не найден Monit перезагрузит php7-fpm после 3 циклов центрального процессора.

Измените 127.0.0.1 чтобы соответствовать вашему интерфейсу и 9000 на другой порт.

check process php7-fpm with pidfile /run/php/7.0/php7-fpm.pid
    start program = "/usr/sbin/service php7.0-fpm start" with timeout 60 seconds
    stop program  = "/usr/sbin/service php7.0-fpm stop"
    if failed host 127.0.0.1 port 9000 protocol tcp for 3 cycles then restart

 

Проверьте конфигурацию MONIT на правильный синтаксис

sudo monit -t

 

Вы должны увидеть это сообщение, указывающее, что с синтаксисом в MONIT все ОК.

Control file syntax OK

 

Читать  Как установить стек LEMP (Linux, Nginx, MySQL, PHP) на OpenSUSE

Затем перезагрузите Monit для активации конфигурации

sudo service monit reload

 

Вы можете проверить в MONIT статус php7-fpm по порту 2812 или в зависимости от того порта, который вы указали в Monit.

Теперь ваш php7-fpm служба будет автоматически перезагружена, если она когда-либо выйдет из строя.

Редактор: AndreyEx

Рейтинг: 4.5 (4 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Thanks!

Our editors are notified.

Прокрутить страницу до начала