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

Re: [hobbit] how to get dnsreg to work .. ?



I see a couple of things that could be wrong.  Possibly you should be doing
"DOMAIN=$2" in the loop??  $1 is the ip address, $2 is the fully-qualified
hostname.  It seemed to work just fine when I replaced the bbhostgrep line
with

     echo "yahoo.com" | while read L

Definitely you should be converting the dots in $DOMAIN to commas.  See the
second paragraph under "XYMON MESSAGE SYNTAX" in the bb.1 manpage.  This
would do it:

   DOM=`echo $DOMAIN | sed -e 's/\./,/g'`
   echo $BB $BBDISP "status+12h $DOM.dnsreg $COLOR `date`

You can test your script using bbcmd:

   server/bin/bbcmd  server/ext/dnsreg

That kicks off the script with the same environment that Xymon gives it.
 You probably want to put a  'set -x' in at the top, to see everything
that's going on.  I generally put an "echo" in front of the $BB line when
testing, to minimize the amount of bogus reports going to the server.

Ralph Mitchell


On Sun, Feb 28, 2010 at 11:31 AM, meepmeep @ Fantasya.org <
meepmeep (at) fantasya.org> wrote:

> Hi
>
> I tried to get dnsreg script working, and it's a complete failure ..
> Here what's I've done so far :
>
> 1/ Creating dnsreg script in server/ext/dnsreg (the one from xymon.com,
> with a little modification).
> My version :
>
> #!/bin/sh
>
> # Check DNS registrations in whois and warn when they are about to expire.
> #
> # NOTE: Requires a "whois" command that knows what servers to query.
> #       Requires GNU date.
> #       Should run only once a day.
>
> BBHTAG=dnsreg
> COLUMN=$BBHTAG
> NOW=`date "+%s"`
> WARNTIME=`expr $NOW + 864000`        # 10 days
> ALARMTIME=`expr $NOW + 432000`       # 5 day
>
> /home/xmon/server/bin/bbhostgrep dnsreg | while read L
> do
>       set $L
>       DOMAIN=$1
>
>       EXPIRESTRING="`whois $DOMAIN | egrep -i
> "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed
> -e's/^[     ]*//' | cut -f1 -d' '`"
>       EXPIRES=`date --date="$EXPIRESTRING" "+%s"`
>
>       if test $EXPIRES -le $ALARMTIME
>       then
>          COLOR=red
>       elif test $EXPIRES -le $WARNTIME
>       then
>          COLOR=yellow
>       else
>          COLOR=green
>       fi
>
>       $BB $BBDISP "status+12h $DOMAIN.dnsreg $COLOR `date`
>
> Domain $DOMAIN expires on $EXPIRESTRING
> "
> done
>
> exit 0
>
>
> 2/ Modify "server/etc/hobbitlaunch.cfg" to add :
>
> [dnsreg]
>         ENVFILE /home/xmon/server/etc/hobbitserver.cfg
>         CMD /home/xmon/server/ext/dnsreg
>         LOGFILE $BBSERVERLOGS/bb-dnsreg.log
>         INTERVAL 5m
>
> 3/ Modify bb-hosts to add domain with dnsreg test:
>
> group-compress <font size="+1">Servers</font>
> ...
> [My classic test, working great]
> ...
>
> groupe-compress <font size="+1">Domains</font>
> 0.0.0.0 firstdomain.tld    # noconn dnsreg
> 0.0.0.0 second.tld        # noconn dnsreg
> 0.0.0.0 etc.tld        # noconn dnsreg
> 0.0.0.0 etcetc.tld     # noconn dnsreg
>
> Log is still empty, I try to restart/reload hobbit.sh. Nothing show on the
> website concerning the "Domains" (all others tests are still showing).
> Moreover, I would like to test the script on a standalone way, but I
> haven't found the way to do it (like using hobbitd_alert --test)
>
> I'm using xymon 4.3.0.0beta2 on debian, and all other tests are working
> great :)
>
> --
> Nicolas G. / meepmeep
>
>