====== 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.