[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: R: Monit e protocollo DNS



On Fri, 26 Jan 2007 14:51:36 +0100
Alberto wrote:

> invece per il demone dhcpd3 come posso abilitare un
> controllo anche sul socket (raw in questo caso) ??
> 
> check process dhcpd3 with "pidfile /var/run/dhcpd.pid"
>    start program  "/etc/init.d/dhcp3-server start"
>    stop program  "/etc/init.d/dhcp3-server stop"
>    if 5 restarts within 5 cycles then timeout

Premessa: in generale UDP per sua natura è un po' rognosetto per queste
soluzioni raw e quindi sarebbe meglio affidarsi, laddove possibile, ai
protocolli. Ad esempio dns.c si affida all'interrogazione del DNS root
per il record NS.

Ciò detto puoi provare una cosa così:

check process dhcpd3 with "pidfile /var/run/dhcpd.pid"
start program  "/etc/init.d/dhcp3-server start"
stop program  "/etc/init.d/dhcp3-server stop"
if failed host 127.0.0.1 port 67 type udp then restart
if 5 restarts within 5 cycles then timeout

in questo modo monit manda 1 byte al server e rimane in attesa di una
risposta; fai attenzione che il server potrebbe loggare la
comunicazione come un errore, in fondo gli stai mandando solo 1 byte, e
comportarsi in modo diverso dall'atteso. Verificarne il comportamento
e agire di conseguenza spetterà a te.

Una seconda e migliore soluzione, anche se leggermente più complessa,
potrebbe prevedere l'utilizzo del protocollo generic provando a
costruire un semplice datagramma udp da utilizzare con gli statement
send/expect. Ovviamente in questo caso dovrai sapere che cosa inviare
tramite send e cosa aspettarti da expect.

ciao,
a.



Reply to: