
Estoy intentando configurar Monit para que realice un seguimiento de los dominios en caso de que PHP falle. Ejemplo:
check file php7.3-fpm-pidfile with path /var/run/php/php7.3-fpm.pid
start program = "/usr/sbin/service php7.3-fpm start" with timeout 60 seconds
stop program = "/usr/sbin/service php7.3-fpm stop"
if does not exist then restart
if failed unixsocket /run/php/php7.3-fpm-domain.co.uk.sock then restart
if failed unixsocket /run/php/php7.3-fpm-domain2.co.uk.sock then restart
if failed unixsocket /run/php/php7.3-fpm-domain3.co.uk.sock then restart
Como prueba sencilla:
check file php7.3-fpm-pidfile with path /var/run/php/php7.3-fpm.pid
start program = "/usr/sbin/service php7.3-fpm start" with timeout 60 seconds
stop program = "/usr/sbin/service php7.3-fpm stop"
if does not exist then restart
if failed unixsocket /run/php/php7.3-fpm-domain.co.uk.sock then restart
Sin embargo, el final falla al reiniciar Monit:
/etc/monit/conf-enabled/php-fpm:14: error de sintaxis 'unixsocket'
Estoy enMonitor 5.31.0, que debería ser lo suficientemente nuevo como para tener la unixsocket
opción. ¿Qué me estoy perdiendo?
Respuesta1
¿Estás seguro de que comprobarás un archivo, desde mi punto de vista comprobarás un proceso?
Mi sugerencia para verificar el Unixsocket y el proceso:
check process php7.3-fpm-pidfile with path /var/run/php/php7.3-fpm.pid
start program = "/usr/sbin/service php7.3-fpm start" with timeout 60 seconds
stop program = "/usr/sbin/service php7.3-fpm stop"
if does not exist then restart
if failed unixsocket /run/php/php7.3-fpm-domain.co.uk.sock then restart
No puede utilizar todas las pruebas disponibles (declaraciones "si") en todas las comprobaciones.
monit -v -t
Process Name = php7.3-fpm-pidfile
Pid file = /var/run/php/php7.3-fpm.pid
Monitoring mode = active
On reboot = start
Start program = '/usr/sbin/service php7.3-fpm start' timeout 1 m
Stop program = '/usr/sbin/service php7.3-fpm stop' timeout 30 s
Existence = if does not exist then restart
Unix Socket = if failed /run/php/php7.3-fpm-domain.co.uk.sock type TCP protocol DEFAULT with timeout 5 s then restart
Fragmento del manual, verhttps://www.mmonit.com/monit/documentation/monit.html
PRUEBAS DE CONEXIÓN
Monit puede realizar pruebas de conexión a través de puertos de red o mediante sockets Unix. Una prueba de conexión solo se puede utilizar dentro de un contexto de tipo de proceso o servicio de host.
Las pruebas de conexión están disponibles únicamente con servicios de proceso o host.