Configurar monit para realizar un seguimiento de los archivos .sock para sitios php-fmp

Configurar monit para realizar un seguimiento de los archivos .sock para sitios php-fmp

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 unixsocketopció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.

información relacionada