Henrik Stoerner wrote:
On Fri, Apr 11, 2008 at 08:56:02AM -0500, Chris Wopat wrote:
Is there a cleaner way built in that will just say "if service FOO is red then on client run script ext/BAR.sh"?
There is. You use the Hobbit "query" command to probe the status, and then act accordingly. To use your example with the "cpu" status going red:
#!/bin/sh
CPUCOLOR=
$BB $BBDISP "query $MACHINE.cpu" | awk '{print $1}'if test "$CPUCOLOR" = "red" then # Kill some cpu hogging processes .... whatever it takes .... fi exit 0The "query" command returns the first line of the current status, and the first word is the current color. You probably will want to put in some sort of sanity check so you don't trigger this too often. Or perhaps just log the fact that it triggered.
Excellent, was unaware of this query feature. The script above looks like it would perfectly deal with my situation if I were to put it in cron on the client machine, which may be suitable.
Is there some way to tell the hobbit server to execute this script on the client, or would something in a SCRIPT line in a hobbit alert, likely using ssh keys, be the only way?
--Chris