Table of Contents


check_http_fwb - nagios plugin for checking HTTP service


check_http_fwb -I ip-address -w warnlevel -c critlevel [ -p port ] [ -H http11_hostname ] [ -u remotefile ] [ -A user_agent ] [ -t timeout ] [ -T(O|W|C) ] [ -C4 ] [ -G | -R request-method ] [ -P ] [ -D ] [ -0 ]


check_http_fwb is a nagios plugin for checking HTTP. It differs from check_http by missing features which are rarely used, having a small codesize (7 KB statical code, diet-compiled and sstripped) and doing per default only a HEAD request.


-I ip-address
Specify the IP address of the remote server to check.

-w warnlevel
Specify the warning level (response time in s).

-c critlevel
Specify the critical level (response time in s).

-p port
Specify the port of the http server on the remote host.

-H http11_hostname
Specify the hostname for name-based virtual hosts.

-u remotefile
Instead of using the default "/" you can request a different file.

-A user_agent
Specify the HTTP user agent (default: "check_http_fwb/1 (ngtx)").

-t timeout
The plugins internal timeout in seconds (default: 10).

On timeout return OK instead of UNKNOWN.

On timeout return WARNING instead of UNKNOWN.

On timeout return CRITICAL instead of UNKNOWN.

Treat http codes 4xx as OK.

Use "GET". "HEAD" is the default in check_http_fwb and "GET" is the default in standard nagios plugin check_http.

-R request-method
Specify an alternative method (i.e. "ALIVE" when using proxies like "varnish").

Use HTTP 1.0. Overrides HTTP/1.1 mode even if a http11_hostname is given.

Ping-mode: actually no HTTP request is send, just try to connect to port. In ping-mode the given times by -w and -c are interpreted as milliseconds.

Use TCP_DEFER_ACCEPT (see tcp(7) ). This can speed up our http-communication by approx. 10 percent, but it breaks tcp-communication by RFC - like many others too. It can also cause trouble with loadbalancers like F5 which send "early" ACK packets to the server before ACK from client.


check_http_fwb does not use any files, a sample nagios config is shown here:

define service{
use service_http

name http

check_command check_http_fwb!2!18

register 0

define command{
command_name check_http_fwb
command_line $USER1$/check_http_fwb -0 -I $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -A "Nagios-http-fwb-plugin/1 " -t 19
define command{
command_name check_http_fwb_1.1
command_line $USER1$/check_http_fwb -I $HOSTADDRESS$ -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -A "Nagios-http-fwb-plugin/1 " -t 19
define command{
command_name check_host_alive_p22
command_line $USER1$/check_http_fwb -I $HOSTADDRESS$ -w 25 -c 100 -p 22 -t 1 -P

See Also


Here’s one example showing a GET-request for :

$ check_http_fwb -I -w 2 -c 4 -p 8080 -H -u /myfile.txt -G
HTTP CRITICAL HTTP/1.0 404 Not Found - 0.016 second response time |time=0.016978s

A sample host-alive-check:

$ check_http_fwb -I -w 25 -c 100 -p 8080 -t 1 -P
HTTP OK - 0.000 second response time |time=0.000533s


Frank Bergmann,

Table of Contents