[hobbit] Testing external web through a proxy

Everett, Vernon Vernon.Everett at woodside.com.au
Tue Nov 25 04:05:18 CET 2008


Of course it wasn't the whole script, but it still worked. :-)
I then tweaked it a little to make it work better for our environment, and added a few features, like the time_total.
I haven't implemented a timeout value though, although that's probably a good idea.

What you gave me was a skeleton, and after I added a bit of flesh, I ended up with something quite workable.
Which worked great. Thanks :-)

Here's one that Henrik might need to address though.

If I use curl to replace the standard http test, then I can't get it to graph unless I use the NCV feature.
However, I am reluctant to try this, because it might break other HTTP tests that are working well (on internal sites)

Is it OK to start graphing this using NCV, or is there a way to get the custom curl-based http test to inject the data points into the standard http graphing system?

Cheers
     Vernon






________________________________
From: Ralph Mitchell [mailto:ralphmitchell at gmail.com]
Sent: Tuesday, 25 November 2008 1:04 AM
To: hobbit at hswn.dk
Subject: Re: [hobbit] Testing external web through a proxy

Heh - dude, that wasn't supposed to be the *whole* script...  :)

If that one was useful, here's something that may be a bit better.  I added a timeout for curl, otherwise it'll wait for a long time if the server doesn't respond.  Also, this format produces a message formatted just like Xymon's internal http test, including the time taken to grab the headers.  You could extract the "Seconds" line to determine if the response is a bit slow.  With a bit more magic in Xymon's configs, you could even graph it...

Ralph Mitchell

============= cut here ============
#!/bin/sh

TESTHOST=www.google.com<http://www.google.com>
TESTURL=http://$TESTHOST/

TIMEOUT=30

# Grab *just* the headers, simulating Xymon's builtin http check
MESSAGE=`curl -x http://ourproxy.ourdomain.com:8080 \
     --proxy-anyauth -U hobbituser:hobbitpassword \
     -m $TIMEOUT \
     -w 'Seconds:     %{time_total}\n' \
     -s -S -L -I $TESTURL | $GREP -v Set-Cookie`

if [ "$?" -eq "0" ]; then
  COLOR=green
else
  COLOR=red
fi

# convert dots to commas in the hostname
MACHINE=`echo $TESTHOST | $SED -e 's/\./\,/g'

$BB $BBDISP "status $MACHINE.home $COLOR `date`

$MESSAGE"
============= cut here ============



On Sun, Nov 23, 2008 at 9:04 PM, Everett, Vernon <Vernon.Everett at woodside.com.au<mailto:Vernon.Everett at woodside.com.au>> wrote:
Hi Ralph

This script works a treat.

Thanks
    Vernon

________________________________
From: Ralph Mitchell [mailto:ralphmitchell at gmail.com<mailto:ralphmitchell at gmail.com>]
Sent: Saturday, 22 November 2008 12:23 AM
To: hobbit at hswn.dk<mailto:hobbit at hswn.dk>
Subject: Re: [hobbit] Testing external web through a proxy

Looks like your proxy requires authentication via Kerberos or NTLM or GSS-Negotiate.  Dunno if Xymon can do those.  Luckily the curl tool (httpp://curl.haxx.se<http://curl.haxx.se>) *can* do those...  I haven't had to use them, but it should not be too hard to bang out an ext script to do the check.  Something along these lines:

     #!/bin/sh
     curl -x http://ourproxy.ourdomain.com:8080 \
           --proxy-anyauth -U hobbituser:hobbitpassword \
           -s -S -L -o /dev/null http://www.google.com/
     if [ "$?" -eq "0" ]; then
       COLOR=green
       MESSAGE="Pinged Google OK"
     else
       COLOR=RED
       MESSAGE="Failed to reach Google"
     fi
     $BB $BBDISP "status www,google,com.home $COLOR `date`
$MESSAGE"

Obviously that can be expanded quite a lot...  :)  Drop it somewhere on your Xymon server (maybe in server/ext) and set up a block in server/etc/hobbitlaunch.cfg to fire it off as often as you want.  You may need to give the full path for curl, which is probably /usr/bin/curl.

Ralph Mitchell


On Fri, Nov 21, 2008 at 1:30 AM, Everett, Vernon <Vernon.Everett at woodside.com.au<mailto:Vernon.Everett at woodside.com.au>> wrote:
Hi all

I am trying to test our interent connectivity by checking Google through our proxy.
(Once I get this right, I want to start testing some of our external web pages in the same manner)

I have configured this in bb-hosts
0.0.0.0<http://0.0.0.0>         www.google.com<http://www.google.com>          # noconn http://hobbituser:hobbitpassword@ourproxy.ourdomain.com:8080/http://www.google.com

And I get this.
yellow<http://hobbit/hobbit/gifs/yellow.gif> http://www.google.com.au/ - Proxy Authentication Required

HTTP/1.1 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )
Via: 1.1 PXYHOSTNAME
Proxy-Authenticate: Negotiate
Proxy-Authenticate: Kerberos
Proxy-Authenticate: NTLM
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 4118

Seconds:     0.02

Any assistance appreciated.

Regards
    Vernon


NOTICE: This email and any attachments are confidential.
They may contain legally privileged information or
copyright material. You must not read, copy, use or
disclose them without authorisation. If you are not an
intended recipient, please contact us at once by return
email and then delete both messages and all attachments.



NOTICE: This email and any attachments are confidential.
They may contain legally privileged information or
copyright material. You must not read, copy, use or
disclose them without authorisation. If you are not an
intended recipient, please contact us at once by return
email and then delete both messages and all attachments.



NOTICE: This email and any attachments are confidential. 
They may contain legally privileged information or 
copyright material. You must not read, copy, use or 
disclose them without authorisation. If you are not an 
intended recipient, please contact us at once by return 
email and then delete both messages and all attachments.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20081125/7d42778b/attachment.html>


More information about the Xymon mailing list