Xymon Mailing List Archive search

how to implement custom tests

list Eric van de Meerakker
Fri, 8 Jul 2005 11:06:03 +0200
Message-Id: <user-07b4e71ffd1f@xymon.invalid>

Please don't do that! The bb executable knows about multiple bb servers etc.
Plea use exec(".../bb", $BBDISP, "...") and save any future users of your
extension scripts a lot of headaches...


Eric

mail to : user-004bb4e22963@xymon.invalid
phone   : +XX (X)XX XXX XXXX
fax     : +XX (X)XX XXX XXXX


-----Original Message-----
From: Paul van Eldijk [mailto:user-86c97c6293b5@xymon.invalid] 
Sent: Friday, July 08, 2005 10:51 AM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] how to implement custom tests

On Thursday 7 July 2005 22:27, Reif Jeffery M wrote:
I installed Hobbit on my (former) BB server.  The clients are reporting
in normally.  However, I have some tests for hosts (NetApp, Tandem -
that have no BB client) that run on the BB server and use the bb
executable to "trick" the server into thinking it received it from an
external client.  For example:

exec("/opt/bb/bin/bb", $IP, "status $machine.$test $color $now\n
$status\n
@array\n
")
  or die( "$1: Couldn't execute BB");
If you're using Perl, you can do without bb, e.g.:

    use Sys::Hostname;

    my $line  = "status " . hostname . ".$BBTEST $color ";
       $line .=  scalar(localtime);
       $line .= "\n$status\n at array\n";

    use IO::Socket::INET;

    my $bb = IO::Socket::INET->new("$BBHOST:$BBPORT");

    if ( $bb and $bb->connected ) {
        $bb->send($line);
        $bb->shutdown(2);
    }
    else {
        warn "error connecting to Big Brother (host $BBHOST, port
$BBPORT)\n";
    }

HTH,
Paul