Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
check_http_proxy
1.0
2011-08-06
- Nagios 1.x
- Nagios 2.x
GPL
110027
File | Description |
---|---|
check_http_proxy | version for python >= 2.6 |
check_http_proxy_python2.5 | backported for python 2.5 |
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
Check HTTP Proxies - including:
* time of response (timeout and warning in the more recent python version, just warning in the older)
* http proxy and port with or without authentication
* expected content for a given URL
In all places I've endeavoured to capture the errors that might occur and return them in a way that will produce useful information within Nagios.
Note for pre-2.6 python there is a back-ported version of this script:
http://bjdean.id.au/wiki/Programming_Notes/Nagios_HTTP_Proxy_Plugin?action=AttachFile&do=get&target=check_http_proxy_python2.5
* time of response (timeout and warning in the more recent python version, just warning in the older)
* http proxy and port with or without authentication
* expected content for a given URL
In all places I've endeavoured to capture the errors that might occur and return them in a way that will produce useful information within Nagios.
Note for pre-2.6 python there is a back-ported version of this script:
http://bjdean.id.au/wiki/Programming_Notes/Nagios_HTTP_Proxy_Plugin?action=AttachFile&do=get&target=check_http_proxy_python2.5
Reviews (1)
Hi.
Good job.
Here is a patch to add perf data to output.
81,82c81,82
print "PROXY OK - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
85,86c85,86
print "PROXY WARNING - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
89,90c89,90
print "PROXY CRITICAL - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
93,94c93,94
print "PROXY UNKNWON - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
105c105
report_critical("Timed out (over {timeout:.2f}s)".format(**cfg), "{0:.2f}".format(duration))
107c107
report_critical("Request failed ({0})".format(e), 999)
109c109
report_unknown("Request failed: ({0})".format(`e`), "{0:.2f}".format(duration))
116c116
report_critical("Failed content check ({expect})".format(**cfg), "{0:.2f}".format(duration))
121c121
= {warntime:.2f}s)".format(duration, **cfg))
---
> report_warning("Over warning time ({0:.2f}s >= {warntime:.2f}s)".format(duration, **cfg), "{0:.2f}".format(duration))
123c123
report_ok("Request return in {0:.2f} seconds".format(duration), "{0:.2f}".format(duration))
Good job.
Here is a patch to add perf data to output.
81,82c81,82
print "PROXY OK - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
85,86c85,86
print "PROXY WARNING - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
89,90c89,90
print "PROXY CRITICAL - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
93,94c93,94
print "PROXY UNKNWON - {0}|time={1}s;{warntime:.2f};{timeout:.2f};0;{timeout:.2f}".format(msg, duration, **cfg)
105c105
report_critical("Timed out (over {timeout:.2f}s)".format(**cfg), "{0:.2f}".format(duration))
107c107
report_critical("Request failed ({0})".format(e), 999)
109c109
report_unknown("Request failed: ({0})".format(`e`), "{0:.2f}".format(duration))
116c116
report_critical("Failed content check ({expect})".format(**cfg), "{0:.2f}".format(duration))
121c121
= {warntime:.2f}s)".format(duration, **cfg))
---
> report_warning("Over warning time ({0:.2f}s >= {warntime:.2f}s)".format(duration, **cfg), "{0:.2f}".format(duration))
123c123
report_ok("Request return in {0:.2f} seconds".format(duration), "{0:.2f}".format(duration))