[Xymon] if statment issue on ext script

Steve Coile scoile at mcclatchyinteractive.com
Thu Sep 25 17:07:07 CEST 2014


It probably does expand, but it's never set because *$IP* never matches any
of the regular expressions.  An *else* statement with an error message will
show this.  Alternatively, in the definition of* $MSG*, give *$HOST* a
default value that makes this condition clear: *${HOST:-none}*.


-- 

*Steve Coile*Senior Network and Systems Engineer, McClatchy Interactive
<http://www.mcclatchyinteractive.com/>
Office: 919-861-1247 | Mobile: 919-622-5369 | Fax: 919-861-1300

On Thu, Sep 25, 2014 at 10:54 AM, James Louis <jglouisjr at gmail.com> wrote:

> His script works fine and he is looking for help in finding out why the
> one variable doesn't expand. Once that is answered I'm sure he would be
> glad to hear about other scripting advice.
>
> Thanks,
> Jim
>
> On Thu, Sep 25, 2014 at 9:27 AM, Root, Paul T <Paul.Root at centurylink.com>
> wrote:
>
>>  What’s with all the echos?  They are unnecessary and could be causing
>> issues. The following works fine:
>>
>>
>>
>> if [[ $IP =~ ^10.xxx.xxx.1[0-9]; then
>>
>>      HOST=’server33.test.corp.local’
>>
>> fi
>>
>>
>>
>> $ IP=10.5.102.13
>>
>> $ if [[ $IP =~ ^10.5.10[0-9].13 ]]; then
>>
>> >    echo "$IP is a match"
>>
>> > fi
>>
>> 10.5.102.13 is a match
>>
>> $ if [[ $IP =~ ^10.5.102.1[0-9] ]]; then    echo "$IP is a match"; fi
>>
>> 10.5.102.13 is a match
>>
>> $ if [[ $IP =~ ^10.5.102.2[0-9] ]]; then    echo "$IP is a match"; fi
>>
>>
>>
>>
>>
>> *From:* Xymon [mailto:xymon-bounces at xymon.com] *On Behalf Of *Simioni,
>> Rodney
>> *Sent:* Thursday, September 25, 2014 8:20 AM
>> *To:* James Louis; usa ims
>> *Cc:* xymon at xymon.com
>> *Subject:* Re: [Xymon] if statment issue on ext script
>>
>>
>>
>> Sorry about that.
>>
>> The issue is that $HOST is not printed in the output next to SERVER.
>>
>>
>>
>> $BBHOME/bin/bbhostgrep $TESTNAME | while read IP HOSTNAME OTHER; do
>>
>>   if do_fetch $HOSTNAME $IP | grep "$REGEX" > /dev/null ; then
>>
>>
>>
>>
>>
>> if [[ `echo "$IP"` =~ ^10.xxx.xxx.1[0-9] ]]; then
>>
>> HOST=`echo "server33.test.corp.local"`
>>
>>
>>
>> elif [[ `echo "$IP"` =~ ^10.xxx.xxx.2[0-9] ]]; then
>>
>> HOST=`echo "server34.test.corp.local"`
>>
>>
>>
>> elif [[ `echo "$IP"` =~ ^10.xxx.xxx.3[0-9] ]]; then
>>
>> HOST=`echo "server35.test.corp.local"`
>>
>>
>>
>> elif [[ `echo "$IP"` =~ ^10.xxx.xxx.4[0-9] ]]; then
>>
>> HOST=`echo "server36.test.corp.local"`
>>
>>
>>
>> elif [[ `echo "$IP"` =~ ^10.xxx.xxx.5[0-9] ]]; then
>>
>> HOST=`echo "server37.test.corp.local"`
>>
>>
>>
>> elif [[ `echo "$IP"` =~ ^10.xxx.xxx.6[0-9] ]]; then
>>
>> HOST=`echo "server38.test.corp.local"`
>>
>>
>>
>> elif [[ `echo "$IP"` =~ ^10.xxx.xxx.7[0-9] ]]; then
>>
>> HOST=`echo "server39.test.corp.local"`
>>
>> fi
>>
>>
>>
>> if [ $(echo "$X < 10" | bc) -ne 0 ]; then
>>
>>             COL=green
>>
>>             MSG="
>>
>>             BIG BROTHER MESSAGE
>>
>>             -------------------
>>
>>             DATACENTER : D1
>>
>>             SERVER : "$HOST"
>>
>>             STATE : Normal
>>
>>             STATUS : Green
>>
>>             TEST : TestProd EchoTest
>>
>>             RESPONSE SUCCEEDED : "$X" sec
>>
>>             IP : "$IP"
>>
>>             EVENT TIME : `date +"%c"`
>>
>>
>>
>>             "
>>
>>
>>
>>            $BB $BBDISP "status $HOSTNAME.$TESTNAME $COL
>>
>>            $MSG"
>>
>> #########################
>>
>> Here is the output – notice that server is empty:
>>
>>
>>
>> XYMON MESSAGE
>>             -------------------
>>             DATACENTER : D1
>>             SERVER :
>>             STATE : Normal
>>             STATUS : Green
>>             TEST : test
>>             RESPONSE SUCCEEDED : .079411876 sec
>>             IPADDRESS : 10.xxx.xxx.xxx
>>             EVENT TIME : Wed 24 Sep 2014 05:48:21 PM EDT
>>
>>
>>
>>
>>
>>
>>
>> *From:* Xymon [mailto:xymon-bounces at xymon.com <xymon-bounces at xymon.com>] *On
>> Behalf Of *James Louis
>> *Sent:* Thursday, September 25, 2014 9:06 AM
>> *To:* usa ims
>> *Cc:* xymon at xymon.com
>> *Subject:* Re: [Xymon] if statment issue on ext script
>>
>>
>>
>>
>>
>> On Wed, Sep 24, 2014 at 4:55 PM, usa ims via Xymon <xymon at xymon.com>
>> wrote:
>>
>> XYMON MESSAGE
>>             -------------------
>>             DATACENTER : D1
>>             SERVER :
>>             STATE : Normal
>>             STATUS : Green
>>             TEST : test
>>             RESPONSE SUCCEEDED : .079411876 sec
>>             IPADDRESS : 10.xxx.xxx.xxx
>>             EVENT TIME : Wed 24 Sep 2014 05:48:21 PM EDT
>>
>>
>>
>> Why is there more to your MSG than what is in your script?
>>
>> Jim
>>
>>
>>
>> --
>>
>>
>>
>>
>>
>>
>> *     Jim Louis        \\\\||////        \ ~ ~  /        | @ @ |*
>>
>> *--oOo---(_)---oOo--*
>>
>> "If a free society cannot help the many who are poor, it cannot save the
>> few who are rich." ~ John Kennedy
>>
>
>
>
> --
>
>
>
>
>
>
> *     Jim Louis       \\\\||////       \ ~ ~  /       | @ @ |*
>
>
> *--oOo---(_)---oOo--*
>
> "If a free society cannot help the many who are poor, it cannot save the
> few who are rich." ~ John Kennedy
>
> _______________________________________________
> Xymon mailing list
> Xymon at xymon.com
> http://lists.xymon.com/mailman/listinfo/xymon
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20140925/fef0b73a/attachment.html>


More information about the Xymon mailing list