1 votos

configuración de monit para php-fpm

Estoy luchando por encontrar una configuración de monit para php-fpm que funcione.

Esto es lo que he probado:

### Monitoring php-fpm: the parent process.
check process php-fpm with pidfile /var/run/php-fpm/php-fpm.pid
  group phpcgi # phpcgi group
  start program = "/etc/init.d/php-fpm start"
  stop program  = "/etc/init.d/php-fpm stop"
  ## Test the UNIX socket. Restart if down.
  if failed unixsocket /var/run/php-fpm.sock then restart
  ## If the restarts attempts fail then alert.
  if 3 restarts within 5 cycles then timeout
  depends on php-fpm_bin
  depends on php-fpm_init

## Test the php-fpm binary.
check file php-fpm_bin with path /usr/sbin/php-fpm
   group phpcgi
   if failed checksum then unmonitor
   if failed permission 755 then unmonitor
   if failed uid root then unmonitor
   if failed gid root then unmonitor

## Test the init scripts.
check file php-fpm_init with path /etc/init.d/php-fpm
   group phpcgi
   if failed checksum then unmonitor
   if failed permission 755 then unmonitor
   if failed uid root then unmonitor
   if failed gid root then unmonitor

Pero falla porque no hay php-fpm.sock (Centos 6)

5voto

Marcelo Bittencourt Puntos 495

Estoy usando la directiva ping.path en php-fpm para comprobar si está funcionando...

y lo he configurado en nginx.conf (no sé si es tu configuración)

location /ping {
    access_log     off;
    allow          127.0.0.1;
    deny           all;
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
    include        fastcgi_params;
}

En monit.d

check process php-fpm.www with pidfile /var/run/php-fpm/php-fpm.pid
  group php-fpm
  start program = "/etc/init.d/php-fpm start"
  stop program  = "/etc/init.d/php-fpm stop"
  if failed host localhost port 80 protocol http
     and request '/ping'
     with timeout 20 seconds for 5 cycles
     then restart
  ## If the restarts attempts fail then alert.
  if 3 restarts within 5 cycles then timeout
  depends on php-fpm_bin
  depends on php-fpm_init
  depends on nginx

1voto

oMatrix Puntos 25

Por lo que pude ver, la única diferencia entre php5-fpm y otros procesos (como nginx) es que su archivo pid no contiene un carácter de nueva línea. Tal vez ese sea el problema. En cualquier caso, mi solución es más fea pero también funciona bien: Simplemente compruebo "process php-fpm with pidfile /var/run/php5-fpm.sock" directamente (mientras intento encontrar una solución a este error).

0voto

Tina Puntos 21

¿Ha considerado utilizar la coincidencia de patrones de procesos de monit junto con el inicio y la detención de demonios existentes?

Alguna forma de matching "php-fpm"

0voto

Janne Pikkarainen Puntos 22249

¿Existe php-fpm.sock archivo en /var/run/php-fpm/php-fpm.sock ? Si lo hay, modifique esta línea

if failed unixsocket /var/run/php-fpm.sock then restart

con

if failed unixsocket /var/run/php-fpm/php-fpm.sock then restart

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: