Need help with check_http

Marc Powell marc at ena.com
Fri Jul 27 20:21:06 CEST 2007



> -----Original Message-----
> From: nagios-users-bounces at lists.sourceforge.net [mailto:nagios-users-
> bounces at lists.sourceforge.net] On Behalf Of Rob Hamilton
> Sent: Friday, July 27, 2007 12:57 PM
> To: Marc Powell
> Cc: nagios-users at lists.sourceforge.net
> Subject: Re: [Nagios-users] Need help with check_http
> 
> Hey Mark,
> 
> Thanks for the great response.
> 
> My nagios check_http plugin seems to be a bit newer than yours. I'm
> using Nagios V2.9 with what appears to be newer plugins.
> 
> [root at hydra libexec]# ./check_http -V
> check_http (nagios-plugins 1.4.9) 1.104
> 
> 
> Here are the test cases. All exit codes look to be correct on command
> completion (0,2,2 respectively), but when I use the echo $? command -
> they are all zeros  (see below).
> 
> Cases below...
> 
> Thanks,
> 
> -Rob
> 
> Case: Apache up, JBoss up
> 
> [root at hydra libexec]# ./check_http -e OK -H <virtualhost> -I app10 -u
> <testurl>
> [1] 4332
> [root at hydra libexec]# HTTP OK HTTP/1.1 200 OK - 609 bytes in 0.134
> seconds |time=0.134439s;;;0.000000 size=609B;;;0
> [1]+  Done                    ./check_http -e OK -H <virtualhost> -I
> app10 -u <testurl>
> [root at hydra libexec]# echo $?
> 0

Yes, it's clear what's going on now... Your testurl contains an '&',
doesn't it? This causes the part of the command before the & to be
executed as a detached process in the background and the rest is likely
just creating shell variable=value environment variables. It's this
latter successful variable assignment that's exiting with status code 0.
The success or failure of the first part is irrelevant. A simple example
is below --

$ echo something1=something&something2=somethingelse
[1] 22997
Something1=something
[1]+  Done                    echo something1=something
$ echo $?
0
$ echo $something2
somethingelse


Using the -v argument to check_http you can see the difference in the
GET requests as well. It has a simple solution though: enclose the
<testurl> in quotes in your command definition. If you were testing on
the command line you'd use --

./check_http -e OK -H <virtualhost> -I app10 -u "<testurl>"

--
Marc

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list