[Xymon] dnsreg script question

Dugan, Darin D [EIT] dddugan at iastate.edu
Fri Sep 21 20:44:34 CEST 2012


The line in your last message is incomplete. The whole command is:

$XYMON $XYMSRV "status+90000 $DOMAIN.dnsreg $COLOR `date`

Domain $DOMAIN expires on $EXPIRESTRING
"

Which translates to something like:

/home/xymon/server/bin/xymon 1.2.3.4 "status+9000 domain.com.dnsreg green Fri Sep 21 11:45:06 CDT 2012

Domain domain.com expires on 30-Nov-2012
"

Which means the 'xymon' program is sending to the xymon server on 1.2.3.4, everything in double quotes. Which happens to be a status message for host domain.com, test dnsreg, green status, then the extra text of the date, blank line, "Domain ....". When the test appears in the web pages the status will be reflected and the extra text will be shown on screen.

Cheers.


From: Russell Blumenthal [mailto:rblumenthal at telmar.com]
Sent: Friday, September 21, 2012 11:11 AM
To: Dugan, Darin D [EIT]; xymon at xymon.com
Subject: RE: dnsreg script question

Ok let me tweak it around. What does this line do anyhow? I keep seeing that pop up and then the error about command being not found
thanks

"status+90000 $DOMAIN.dnsreg $COLOR `date`
From: Dugan, Darin D [EIT] [mailto:dddugan at iastate.edu]
Sent: Friday, September 21, 2012 10:50 AM
To: Russell Blumenthal; xymon at xymon.com<mailto:xymon at xymon.com>
Subject: RE: dnsreg script question

Rereading your message, it seems perhaps $XYMON or $XYMDISP are not populated. Are you running this under xymoncmd to set the environment? I run from cron daily with:

/home/xymon/server/bin/xymoncmd --env=/home/xymon/server/etc/xymonserver.cfg /home/xymon/server/ext/dnsreg

A few other differences in my script:

1.       I'm using $XYMSRV instead of $XYMDISP. Hmm...I don't have a $XYMDISP anywhere, maybe $BBDISP wasn't updated to $XYMSRV properly?

2.       Added a "sleep 60" command before "done". Whois seems to get angry with me if I query a bunch of domains in quick succession.

3.       Had to modify the sed commands for EXPIRESTRING:
EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^\s*//' | sed -e's/\s.*//'`"

Cheers.

From: Russell Blumenthal [mailto:rblumenthal at telmar.com]
Sent: Friday, September 21, 2012 8:09 AM
To: Dugan, Darin D [EIT]; xymon at xymon.com<mailto:xymon at xymon.com>
Subject: RE: dnsreg script question

I installed  'whois' and I am able to do a manual query 'whois domain.com'. but unable to run the script manually to test it.
From: Dugan, Darin D [EIT] [mailto:dddugan at iastate.edu]
Sent: Friday, September 21, 2012 9:05 AM
To: Russell Blumenthal; xymon at xymon.com<mailto:xymon at xymon.com>
Subject: RE: dnsreg script question

I'm guessing you don't have 'whois' available or in the path.

From: xymon-bounces at xymon.com<mailto:xymon-bounces at xymon.com> [mailto:xymon-bounces at xymon.com] On Behalf Of Russell Blumenthal
Sent: Thursday, September 20, 2012 4:30 PM
To: xymon at xymon.com<mailto:xymon at xymon.com>
Subject: [Xymon] dnsreg script question

I am having an issue trying to get the dnsreg script working. I install it and all and when I go to test it I get this (I took out my domain). Any help would be appreciated.

Thanks


./dnsreg.sh: line 31: status+90000 mydomain.com.dnsreg red Thu Sep 20 17:27:42 EDT 2012

Domain mydomain.com expires on
: command not found



The script looks like this:


#!/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.

NOW=`date "+%s"`
WARNTIME=`expr $NOW + 864000`        # 10 days
ALARMTIME=`expr $NOW + 432000`       # 5 day

/home/xymon/server/bin/xymongrep dnsreg | while read L
do
      set $L
      DOMAIN=$2

      EXPIRESTRING="`whois $DOMAIN | egrep -i "Expires.*:|Expiration.*:|Renewal.*:" | head -n 1 | cut -d: -f2 | sed -e's/^[     ]*//'`"
      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

      $XYMON $XYMDISP "status+90000 $DOMAIN.dnsreg $COLOR `date`

Domain $DOMAIN expires on $EXPIRESTRING
"
done
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20120921/4e40c9ca/attachment.html>


More information about the Xymon mailing list