Configurando o monit para rastrear arquivos .sock para sites php-fmp

Configurando o monit para rastrear arquivos .sock para sites php-fmp

Estou tentando configurar o Monit para que ele monitore os domínios caso o PHP trave. Exemplo:

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 um teste simples:

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

No entanto, o final falha ao reiniciar o Monit:

/etc/monit/conf-enabled/php-fpm:14: erro de sintaxe 'unixsocket'

Estou dentroMonitor 5.31.0, que deve ser novo o suficiente para ter a unixsocketopção. o que estou perdendo?

Responder1

Tem certeza que irá verificar um arquivo, do meu ponto de vista você irá verificar um processo?

Minha sugestão para verificar o unixsocket e o processo:

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

Você não pode usar todos os testes disponíveis (instruções "if") em todas as verificações.

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

Trecho do manual, vejahttps://www.mmonit.com/monit/documentation/monit.html

TESTES DE CONEXÃO

Monit pode realizar testes de conexão através de portas de rede ou soquetes Unix. Um teste de conexão só pode ser usado dentro de um contexto de tipo de serviço de processo ou host.

Os testes de conexão estão disponíveis apenas com serviços de processo ou host.

informação relacionada