check_nginx_status is (yet another) Nagios-Plugin to monitor nginx status and alerts on various values, based on HttpStubStatus
it also creates, based on the returned values, a csv to store data docs&downloads: http://doxi-news.blogspot.de/2013/06/checknginxstatus-nagios-plugin-to.html (with screenshots) https://bitbucket.org/maresystem/dogtown-nagios-plugins Usage: check_nginx_status [-H|--HOST] [-p|--port] [-u|--url] [-a|--auth] [-s|--ssl] [-t|--test] [-w|--warning] [-c|--critical] [-o|--output] [-r|--resultfile] [-h|--help] [-v|--version] [-d|--debug] Options: --help|-h) print check_nginx_status help --HOST|-H) Sets nginx host Default: localhost --port|-p) Sets connection-port Default: 80/http, 443/https --ssl|-s) Turns on SSL Default: off --url|-u) Sets nginx status url path. Default: /nginx_status --auth|-a) Sets nginx status BasicAuth user:password. Default: off *** --test|-t) Sets the test(check)_value for w/c if used, -w/-c is mandatory Default: checktime possible Values: active_conns -> active connections accepts_err -> difference between accepted and handled requests (should be 0) requests -> check for requests/connection reading -> actual value for reading headers writing -> value for active requests waiting -> actual keep-alive-connections checktime -> checks if this check need more than given -w/-c milliseconds --calculated checks --------------- rps -> requests per seconds cps -> connections per second dreq -> delta requests to the previous one dcon -> delta connections to the previous one these checks are calculated at runtime with a timeframe between the latest and the current check; time is extracted from the timestamp of the result_file to disable calculation (no files are written) use -n; you cannot use -t [rps,cps,dreq,dcon] with -n; this will raise an error and the plugin returns UNKNOWN see -r - option for an alternate filepath for temporary results --warning|-w) Sets a warning level for selected test(check) Default: off --critical|-c) Sets a critical level for selected test(check) Default: off --debug|-d) turn on debugging - messages (use this for manual testing, never via nagios-checks; beware of the messy output Default: off --version|-v) display version and exit --output|-o) output only values from selected tests in perfdata; if used w/out -t the check returns the value for active connections --resultfile|-r) /path/to/check_nginx.results{.csv} please note, beside the values from the actual check (eg.g check_nginx.results) a second file is created, if not existent, and written on each plugin-run (check_nginx.results.csv), containign a historic view on all extracted values default: /tmp/check_nginx.results{.csv} --noresult|-n) never write a results-file; CANNOT be used with calculated checks -t [rps|cps|dreq|dcon] default: off *** ) -> please dont use this option, not implemented or not functional Examples: just get all perfdata, url is default (/nginx_status) ./check_nginx_status --HOST www.example.com just get active connections perfdata ./check_nginx_status -H www.example.com -o check for plugin_checktime, error > 10ms (warning) or 50ms (error) and output only perfdata for that values ./check_nginx_status -H www.example.com -u /status -w 10 -c 50 -o check for active connections, alert on > 500/2000 active connections ./check_nginx_status -H www.example.com -u /status -t active_conn -w 500 -c 2000 Check for accepts_errors ./check_nginx_status -H www.example.com -t accepts_err -w 1 -c 50 Performancedata: NginxStatus.Check OK | ac=1;acc=64; han=64; req=64; err=0; rpc=1; rps=0; cps=0; dreq=1; dcon=1; read=0; writ=1; wait=0; ct=6ms; ac -> active connections acc -> totally accepted connections han -> totally handled connections req -> total requests err -> diff between acc - han, thus errors rpc -> requests per connection (req/han) rps -> requests per second (calculated) from last checkrun vs actual values cps -> connections per (calculated) from last checkrun vs actual values dreq -> request-delta from last checkrun vs actual values dcon -> accepted-connection-delta from last checkrun vs actual values read -> reading requests from clients writ -> reading request body, processes request, or writes response to a client wait -> keep-alive connections, actually it is ac - (read + writ) ct -> checktime (connection time) for this check rpc/rps/dreq/dcon are always set to 0 if -n is used Nginx-Config be sure to have your nginx compiled with Status-Module (--with-http_stub_status_module), you might want to test your installation with nginx -V http://wiki.nginx.org/HttpStubStatusModule location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } Requirements: nginx compiled with HttpStubStatusModule (see Nginx-Config) python 2.x this plugin is not yet compatible with python 3.x, but it should be easy to convert, using 2to3 Docs & Download: https://bitbucket.org/maresystem/dogtown-nagios-plugins ------------------------------ comments appreciated regards, mex Posted at Nginx Forum: http://forum.nginx.org/read.php?2,240412,240412#msg-240412 _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
