====== check_http ======
This plugin will attempt to open an HTTP connection with the host. \\
Successful connects return STATE_OK, refusals and timeouts return STATE_CRITICAL other errors return STATE_UNKNOWN. Successful connects, but incorrect reponse messages from the host result in STATE_WARNING return values. If you are
checking a virtual server that uses 'host headers' you must supply the FQDN (fully qualified domain name) as the [host_name] argument. \\
This plugin can also check whether an SSL enabled web server is able to serve content (optionally within a specified time) or whether the X509 certificate is still valid for the specified number of days. \\
Examples: CHECK CONTENT: ''check_http -w 5 -c 10 --ssl -H www.verisign.com''
===== Usage =====
Usage: check_http -H | -I [-u ] [-p ]
[-w ] [-c ] [-t ] [-L]
[-a auth] [-f ] [-e ]
[-s string] [-l] [-r | -R ] [-P string]
[-m :] [-4|-6] [-N] [-M ] [-A string]
[-k string] [-S] [-C ] [-T ]
===== Help =====
Options:
-h, --help
Print detailed help screen
-V, --version
Print version information
-H, --hostname=ADDRESS
Host name argument for servers using host headers (virtual host)
Append a port to include it in the header (eg: example.com:5000)
-I, --IP-address=ADDRESS
IP address or name (use numeric address if possible to bypass DNS lookup).
-p, --port=INTEGER
Port number (default: 80)
-4, --use-ipv4
Use IPv4 connection
-6, --use-ipv6
Use IPv6 connection
-S, --ssl
Connect via SSL. Port defaults to 443
-C, --certificate=INTEGER
Minimum number of days a certificate has to be valid. Port defaults to 443
(when this option is used the url is not checked.)
-e, --expect=STRING
String to expect in first (status) line of server response (default:
HTTP/1.)
If specified skips all other status line logic (ex: 3xx, 4xx, 5xx processing)
-s, --string=STRING
String to expect in the content
-u, --url=PATH
URL to GET or POST (default: /)
-P, --post=STRING
URL encoded http POST data
-N, --no-body
Don't wait for document body: stop reading after headers.
(Note that this still does an HTTP GET or POST, not a HEAD.)
-M, --max-age=SECONDS
Warn if document is more than SECONDS old. the number can also be of
the form "10m" for minutes, "10h" for hours, or "10d" for days.
-T, --content-type=STRING
specify Content-Type header media type when POSTing
-l, --linespan
Allow regex to span newlines (must precede -r or -R)
-r, --regex, --ereg=STRING
Search page for regex STRING
-R, --eregi=STRING
Search page for case-insensitive regex STRING
--invert-regex
Return CRITICAL if found, OK if not
-a, --authorization=AUTH_PAIR
Username:password on sites with basic authentication
-A, --useragent=STRING
String to be sent in http header as "User Agent"
-k, --header=STRING
Any other tags to be sent in http header. Use multiple times for additional headers
-L, --link
Wrap output in HTML link (obsoleted by urlize)
-f, --onredirect=
How to handle redirected pages
-m, --pagesize=INTEGER<:INTEGER>
Minimum page size required (bytes) : Maximum page size required (bytes)
-w, --warning=DOUBLE
Response time to result in warning status (seconds)
-c, --critical=DOUBLE
Response time to result in critical status (seconds)
-t, --timeout=INTEGER
Seconds before connection times out (default: 10)
-v, --verbose
Show details for command-line debugging (Nagios may truncate output)
===== FAQ =====
**Q:** Kann ich mit check_http auch passwortgeschützte Webseiten prüfen?
> **A:** Ja. Über die Option ''-a'' lassen sich Username und Passwort übergeben.
> :!: **Security Related:** :!: \\ Username/Passwort in der Nagios Config (service definitionen / command definitionen / etc.) anzugeben lässt die Möglichkeit zu, dass man auch über das Nagios Webinterface sich diese Sachen unter dem Punkt ''View Config'' ansehen kann. \\ Man kann allerdings ''geheime'' Daten in die sog. ''ressource.cfg'' als ''$USERx$'' Makro stecken und im Pluginaufruf darüber wieder zugreifen.\\ Konfigurationen aus der ''ressource.cfg'' werden __nicht__ über das Nagios Webinterface dargestellt.