| 
 Paul Lantinga <prl@xxxxxx> wrote:
> Good morning,
> 
> We're running the .8.x stable code.  It works great in the default setup
> with one LVS server doing NAT.  Phase II means trying out 2 load balancers,
> as found at http://www.linuxvirtualserver.org/HighAvailability.html.  This
> works fine using heartbeat to control lvs and mon in the manner found in the
> example haresources file.
>   clients -- switch -- lvs and lvs2 -- switch -- servers
> However, I've been asked to have mon monitor not only the real servers, but
> also the the IP addresses for the switches on the outside and the inside and
> to then kill heartbeat if it fails.  I added a section to the mon.cf file to
> monitor the 'gateways' and to alert|upalert with
> heartbeat.alert|startheartbeat.alert.  The heartbeat alerts are simple
> scripts that do /etc/init.d/heartbeat stop|start and the haresources
> contains: lvs vip-http vip-servers lvs mon
> 
> Of course, this killfest doesn't work b/c you can't have mon killing
> heartbeat and heartbeat killing mon as you're left with noone watching
> anything.  ;) .  
> 
> So, I figured, how about having two mon instances or how about having mon
> control both heartbeat and lvs.
> 
> The dual mon setup would be:
> - one instance of mon to watch my real servers that would pull servers in
> and out of service with the lvs.alert.  This would be started and stopped by
> heartbeat.  haresources would look like: lvs vip-http vip-servers mon
> 
> - a second instance of mon would be started at boot time and would monitor
> the gateways hostgroup using a mon.cf with:
>   hostgroup gateways gw1 gw2
> 
>   watch gateways
>       service fping
>               interval 10s
>               monitor fping.monitor
>               period wd{Sun-Sat}
>               alert heartbeat.alert
>               upalert starthearbeat.alert
> 
> The mon in control scenario would be:
> - push everything from the two mon configs above into one mon.cf file.  
> 
> Is either of these methods preferable? wise? unwise?  Has anyone else
> managed to get 2 instances of mon running on the same box?  Is anyone using
> mon to control heartbeat and lvs?
There is another possebility:
Mon allows you to enable/disable service groups.
If you start mon with the service group for monitoring the realservers
disabled then heartbeat could enable this group via haresources.
It looks a bit like this:
Disabling watch group "realservers":
echo -e "user=someuser\npass=password\ndisable watch realservers" | \
moncmd -a -s localhost
enabling:
echo -e "user=someuser\npass=password\nenable watch realservers" | \
moncmd -a -s localhost
Cheers,
Juri
-- 
Juri Haberland  <juri@xxxxxxxxxxxxxx> 
 |