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: