I'm in the middle of setting up monit for use in an anycast service
high-availability setup, and have it working for taking the host out of
anycast, but ran into an interesting problem -- is there a way to put
the host back into the anycast rotation when things recover (i.e.
someone fixes the down service and restarts whatever is down)? 

For
example, I can use the following for tomcat: 

check process tomcat with
pidfile /var/run/tomcat/tomcat.pid
 start program = "/etc/init.d/tomcat
start"
 stop program = "/etc/init.d/tomcat stop"
 if failed host
localhost port 8080 protocol http
 and request "/fcweb/" then restart

if 3 restarts within 5 cycles
 then exec "/etc/init.d/ospfd stop"
 group
server 

Stopping ospf will remove it from the cluster. Is there a way
to restart ospfd when monit detects tomcat running again? I know I can
put an else on the "if failed" statement, but I don't want to run the
"ospfd start" script every time it starts back up. I only want to run it
if it was down and then recovered. 

The other thing that would be nice
is a way to group the checks for restarting ospfd. For example: 

check
group server
 if status failed
 then exec "/etc/init.d/ospfd stop"
 if
status recovered
 then exec "/etc/init.d/ospfd start" 

or even if there
was a way to have a check for multiple existing checks. Is there any way
anyone can think of to implement something like that w/o running a
separate script to check the monit status?

-- 

Dan Rich 

http://www.employees.org/~drich/ [1]
 "Step up to red alert!" "Are you
sure, sir?
 It means changing the bulb in the sign..."
 - Red Dwarf
(BBC)   

Links:
------
[1] http://www.employees.org/%7Edrich/
--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to