2011-12-08 22 views
6

Così ho il seguente nel mio monitrc di file:Monit errore nome del servizio

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 

ma continuo a ricevere l'errore che:

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

risposta

6

Se il nome host del server è 'apache', il conflitto è con la regola predefinita per il monitoraggio del carico del sistema.

Monit sembra avere la regola implicita di 'check system hostname', dove il nome host è l'output del comando hostname.

È possibile sovrascrivere che con l'aggiunta solo una linea simile:

check system newhostname 

Ad esempio:

check system localhost 
2

Per caso Hai una voce con un host nome apache sotto questa voce o in un file di configurazione di monit separato?

0

Verificare se ha avuto alcun conflitto per Apache definiti in uno qualsiasi dei file sotto /etc/monit.d/ directory , Ho accidentalmente aggiunto nginx per il mio puma.conf e mi sono imbattuto nello stesso errore prima.

4

ho visto questo errore quando mi sono dimenticato di commentare la riga:

include /etc/monit/conf.d/* 

in un costume /etc/monit/conf.d/myprogram.conf di file, così è stato in modo ricorsivo, tra cui quel file.

0

per il mio caso, ho semplicemente dovuto riavviare monit per eliminare l'errore nome del servizio:

sudo service monit restart

Problemi correlati