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
Email: sales@nagios.com

Login

Remember Me

check_nginx.sh

Current Version
1.1
Last Release Date
2009-06-15
Compatible With
  • Nagios 2.x
  • Nagios 3.x
Hits
115666
Files:
FileDescription
check_nginx.shThe plugin (v1.1)
LICENSEGNU GPLv2 License
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
sh-compliant script to check the nginx webserver whether its running and to get requests and connections per second
Description
check_nginx.sh is a Nagios plugin to check whether nginx is running.
It also parses the nginx's status page to get requests and
connections per second as well as requests per connection. You may have to alter your nginx configuration so that the plugin can access the server's status page.
The plugin is highly configurable for this reason. See below for available options.

-h/--help Output
check_nginx.sh -H localhost -P 80 -p /var/run -n nginx.pid -s nginx_statut -o /tmp [-w INT] [-c INT] [-S] [-N]

Options:
-H/--hostname)
Defines the hostname. Default is: localhost
-P/--port)
Defines the port. Default is: 80
-p/--path-pid)
Path where nginx's pid file is being stored. You might need to alter this path according to your distribution. Default is: /var/run
-n/--name_pid)
Name of the pid file. Default is: nginx.pid
-N/--no-pid-check)
Turn this on, if you don't want to check for a pid file whether nginx is running, e.g. when you're checking a
remote server. Default is: off
-s/--status-page)
Name of the server's status page defined in the location directive of your nginx configuration. Default is: nginx_status
-o/--output-directory)
Specifies where to write the tmp-file that the check creates. Default is: /tmp
-S/--secure)
In case your server is only reachable via SSL, use this switch to use HTTPS instead of HTTP. Default is: off
-w/--warning)
Sets a warning level for requests per second. Default is: off
-c/--critical)
Sets a critical level for requests per second. Default is: off

Output example
user@host: ~ $ ./check_nginx.sh -H localhost -P 80 -p /var/run -n nginx.pid -s nginx_status -o /tmp -w 15000 -c 20000
OK - nginx is running. 1 requests per second, 1 connections per second (1.00 requests per connection) | 'reqpsec'=1 'conpsec'=1 'conpreq'=1.00 ]
user@host: ~ $ ./check_nginx.sh -H localhost -P 80 -p /var/run -n nginx.pid -s nginx_status -o /tmp -w 15000 -c 20000
OK - nginx is running. 13722 requests per second, 13725 connections per second (1.00 requests per connection) | 'reqpsec'=13722 'conpsec'=13725 'conpreq'=1.00 ]
user@host: ~ $ ./check_nginx.sh -H localhost -P 80 -p /var/run -n nginx.pid -s nginx_status -o /tmp -w 10000 -c 15000
WARNING - nginx is running. 12462 requests per second, 12448 connections per second (1.00 requests per connection) | 'reqpsec'=12462 'conpsec'=12448 'conpreq'=1.00
user@host: ~ $ ./check_nginx.sh -H localhost -P 80 -p /var/run -n nginx.pid -s nginx_status -o /tmp -w 5000 -c 10000
CRITICAL - nginx is running. 14241 requests per second, 14253 connections per second (1.00 requests per connection) | 'reqpsec'=14241 'conpsec'=14253 'conpreq'=1.00

ChangeLog
2009-06-15
* nginx_status output is now stored in a variable instead of writing a file (better performance) to a temporary directory
* warning must be lower than critical rather than lower or equal than critical