Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

Directory Tree


4 votes
check_url_status_1.3The plugin itself
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Checks the avaibility of websites and interpretes the returncode according to RFC 2616. Works with proxies, proxy authentication. Can check password protected websites.By Martin Fuerstenau
This plugin checks the status of websites and gives back the returncode according to RFC 2616 and the appropriate message string.

Opposite to check_url by yunus it uses NO system calls. Mainly for security reasons but a little bit for style.

It is based on libwww-perl and there is no need for system-calls.

The script support proxies with and without authentication via command line switches.

The script support checks for password protected websites via command line switches. You have to supply a user and a password.

This plugin is compatible with the Nagios plugin developer guidelines. Therefore a is needed and I supply an own one. The only difference to the one from the official plugin package is the contact address. You can use the original one. In that case the output from --help is not correct beecause there is a wrong contact. Thats all.

The documentation is within the plugin.

This plugin will not run from within the embedded perl of nagios 2.3 and higher due to the fact that embedded perl like on Apache has several restrictions. If you do not need the performance improvement it is easier not to use the embedded perl.


In case of using a proxy be sure that all error codes are forwarded. If the proxy displays a error page of itself you check this page instead of the page you wanna check.

Version history:

1st Aug 2006 Version 1.0
- The site can be on the LAN or within the internet.
- The site can be behind a proxy with or without authentication.
- The plugin can handle proxy authentication on a user/password basis.
- Therefore a user and a password has to be submitted when calling the plugin
- The site can be whith or without authentication
- The plugin can handle website authentication.
- Therefore a user and a password has to be submitted when calling the plugin
For easier use the commandline options of the plugin are based on the syntax of wget.

13th Jun 2008 Version 1.1
- Added -o, --outout for giving back the checked URL

13th Jul 2010 Version 1.2
- Bugfix - proxy without user/password failed. Fixed
- Cleaned up the code a little bit.
- Removed the usage of
- Removed the usage of global variables. my will do the work too. You can easily place comments after the definition and/or assign values to the variables at time of creating them.
- Redirected STDERR to /dev/null. Due testing I recognized that there are websites in UTF-8 causing an error like:

"Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/lib/perl5/vendor_perl/5.8.8/LWP/ line 114."

because this is a little bit confusing to users it is redirected. this warning is caused by libwww-perl itself and therefore it can not be covered by this program
- New switch -n | --negate to negate the result. For example a 200 is critical and a 500 is good

23rd Jul 2014 Version 1.3
- Bugfix - proxy connection failed with https. Fixed.
Reviews (2)
byTony-Caffe, May 20, 2015
1 of 1 people found this review helpful
Thank you for adding this plugin. Most dont let you specify htaccess login to check a site. IMO this is very crucial.

My Command Definition Example:

# 'check_url_status' command definition with htaccess login
define command{
command_name check_url_status
command_line $USER1$/check_url_status -U $ARG1$ --http-user=$ARG2$ --http-passwd=$ARG3$

byravikiran189, January 18, 2012
2 of 2 people found this review helpful
Its a good plugin though...But needs some modifications

For Nagios 2.X or 3.X do the following

#use lib "/usr/lib/nagios/ops_plugins" ;

needs to be replaced with

#use lib "/usr/local/nagios/libexec" ;

Owner's reply

Fixed. The actual version do not use Therefore adaption of the path is obsolete.