2011-12-08 14 views
6

Así que tengo el siguiente en mi monitrc archivo:Monit error de nombre de servicio

check process apache with pidfile /usr/local/apache/logs/httpd.pid 
group apache 
start program = "/etc/init.d/httpd start" 
stop program = "/etc/init.d/httpd stop" 
if failed host XXX port 80 protocol http 
and request "/monit/token" then restart 
if cpu is greater than 60% for 2 cycles then alert 
if cpu 80% for 5 cycles then restart 
if totalmem 500 MB for 5 cycles then restart 
if children 250 then restart 
if loadavg(5min) greater than 10 for 8 cycles then stop 
if 3 restarts within 5 cycles then timeout 

pero sigo obteniendo el error que:

Error: service name conflict, apache already defined '/usr/local/apache/logs/httpd.pid' 

Respuesta

6

Si el nombre de host del servidor es 'apache', entonces el conflicto es con la regla predeterminada para monitorear la carga del sistema.

Monit parece tener la regla implícita de 'comprobar el nombre de sistema del sistema', donde el nombre de host es la salida del comando de nombre de host.

Puede sobrescribir que mediante la adición de sólo una línea como:

check system newhostname 

Por ejemplo:

check system localhost 
2

Por casualidad tiene usted una entrada con un anfitrión nombre apache debajo de esta entrada o en un archivo de configuración monit separado?

0

Comprobar si ha tenido algún conflicto para Apache definidos en cualquiera de los archivos bajo /etc/monit.d/ directorio , Accidentalmente agregué nginx para mi puma.conf y encontré el mismo error antes.

4

vi este error cuando se me olvidó comentar la línea:

include /etc/monit/conf.d/* 

en una costumbre /etc/monit/conf.d/myprogram.conf archivo, por lo que fue incluido recursivamente ese archivo.

0

Para mi caso, simplemente tenía que reiniciar monit para deshacerse del nombre de servicio de error:

sudo service monit restart

Cuestiones relacionadas