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

Re: [hobbit] Changing the frequency for individual tests



Just going through my mail and answering those I have missed ...

On Tue, Feb 08, 2005 at 11:44:16AM -0500, kevin grady wrote:
> I have read through all of the documentation and I wanted to get
> clarification on network tests. Is there a way in hobbit to change the
> frequency of tests for hosts? Example, I ftp and http tests running
> against myhost.mydomain.com, can I have the http test run every 60
> seconds because that's where we make money and run the ftp service
> check every 5 minutes because it is less critical.

There is a way to do that, but it isn't obvious - and it works on a
per-host basis, not per-test.

You use the "NET:bla" tag in bb-hosts to split your hosts into the
important ones and the less important ones. Then you run two [bbnet]
tasks with different intervals, one runs every minute and handles the
important hosts, the other runs with the default interval (every 5
minutes) and handles the less critical hosts.

E.g. you have three hosts in bb-hosts: www.foo.com is important, the
other are not:

10.0.0.1  www.foo.com  # NET:critical ftp http://www.foo.com/
10.0.0.2  mail.foo.com # smtp
10.0.0.3  ns.foo.com   # dns

(You could have "NET:standard on the non-important hosts, but
 I'll leave that out because there is an easier way to pick those
 that have no NET definition).

In hobbitlaunch.cfg, you change the default [bbnet] definition into
two - one for each set of tests, with different intervals:

[bbnet-critical]
        ENVFILE /usr/local/hobbit/server/etc/hobbitserver.cfg
        NEEDS hobbitd
        CMD $BBHOME/bin/bb-network.sh critical
        LOGFILE $BBSERVERLOGS/bb-network.log
        INTERVAL 1m

[bbnet-standard]
        ENVFILE /usr/local/hobbit/server/etc/hobbitserver.cfg
        NEEDS hobbitd
        CMD $BBHOME/bin/bb-network.sh standard
        LOGFILE $BBSERVERLOGS/bb-network.log
        INTERVAL 5m


The CMD setting points at a shell script, because you need to change
the BBLOCATION environment variable before running the network test
tool. So $BBHOME/bin/bb-network.sh would look like this:

#!/bin/sh

BBLOCATION="$1"		# "critical" or "standard"
export BBLOCATION

if [ "$BBLOCATION" = "standard" ]; then
   # The "--test-untagged" makes it pick up those hosts with
   # no NET:xxx definition.
   exec bbtest-net --ping --checkresponse --test-untagged --report=netstd
else
   exec bbtest-net --ping --checkresponse --report=netcrit
fi


Regards,
Henrik