[hobbit] How to create multiple custom test under one column
Overy, Steve
steve.overy at gb.unisys.com
Mon Dec 7 17:36:17 CET 2009
Thorsten,
Because the MACHINE selection is hard coded, that doesn't scale very well (think 100's of hosts/tests). I tend to "read in" data definition files that define host:test then the code can be quite simple... this is what I'm currently playing, I don't claim it to be neat or anything:
================================================================================
#!/bin/sh
SNMP_LIST=$BBHOME/etc/snmp-list
BBHTAG=snmp-loop # What we put in bb-hosts to trigger this test
COLUMN=snmp-probe # Name of the column, often same as tag in bb-hosts
$BBHOME/bin/bbhostgrep $BBHTAG | while read L
do
set $L # To get one line of output from bbhostgrep
HOSTIP="$1"
MACHINEDOTS="$2"
MACHINE=`echo $2 | $SED -e's/\./,/g'`
COLOR=green
MSG="$COLUMN status for host $MACHINEDOTS
"
HOST=`grep $MACHINEDOTS $SNMP_LIST|cut -d":" -f1`
COMMUNITY=`grep $MACHINEDOTS $SNMP_LIST|cut -d":" -f2`
MIB_OBJECT=`grep $MACHINEDOTS $SNMP_LIST|cut -d":" -f3`
STATUS=`snmpwalk -v2c -c $COMMUNITY $HOST $MIB_OBJECT`
RESULT=`echo $?`
if [ $RESULT != 0 ]
then
COLOR=red
fi
$BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date`
${MSG}
${STATUS}
"
done
exit 0
________________________________
From: thorsten.erdmann at daimler.com [mailto:thorsten.erdmann at daimler.com]
Sent: 07 December 2009 16:18
To: hobbit at hswn.dk
Subject: [hobbit] How to create multiple custum test under one column
Hi,
I want to do some application tests on several servers. All these test should be under one column named "app". Every test is unique for one server. So test "app" on "server1" is different from "app" on server2. All these test run remotely on the hobbit server, not on the destination servers.
For now I wrote a test-script for every test and define a unique testname for the bbhost file for every test-script. In the script I reported to the "app" column. Works fine, but I have to include every test-script in the hobbitlaunch file and so all these tests run simultaneously, resulting in a big number of processes on the hobbit server.
So I think of writing _one_ testscript for the "app" test and let this script decide which subscript should be run for each host. So all the different tests would be run under one master test script and so I hopefully get only one process.
BBHTAG=app # What we put in bb-hosts to trigger this test
COLUMN=app # Name of the column, often same as tag in bb-hosts
TEMPFILE_OUTPUT=$BBTMP/$BBHTAG.output.tmp
TEMPFILE=$BBTMP/$BBHTAG.tmp
$BBHOME/bin/bbhostgrep $BBHTAG | while read L
do
echo "found hosts: $L"
rm $TEMPFILEOUTPUT >/dev/null 2>&1
set $L # To get one line of output from bbhostgrep
HOSTIP="$1"
MACHINEDOTS="$2"
MACHINE=`echo $2 | $SED -e's/\./,/g'`
COLOR=green
echo "Application test on $MACHINEDOTS" > $TEMPFILE
if "$MACHINE" == "server1"
. apptest_server1.sh
fi
if "$MACHINE" == "server2"
. apptest_server2.sh
fi
MSG=`cat $TEMPFILE_OUTPUT | fold -s -w 100`
if [ $DEBUG = TRUE ]
then
echo "status $MACHINE.$COLUMN $COLOR `date` $MSG"
else
$BB $BBDISP "status $MACHINE.$COLUMN $COLOR `date` $MSG"
fi
rm $TEMPFILE_OUTPUT >/dev/null 2>&1
done
exit 0
What do you think of this method? Maybe you have a better idea?
Thank you
Thorsten Erdmann
If you are not the intended addressee, please inform us immediately that you have received this e-mail in error, and delete it. We thank you for your cooperation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20091207/5ffe6a6e/attachment.html>
More information about the Xymon
mailing list