Skip to content

iborodikhin/munin-plugin-nginx-upstream-multi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 

Repository files navigation

Munin plugin to monitor requests number, cache statuses, http status codes and average request times of specified nginx upstreams.

Configuration parameters:

  • user root — run plugin as root user (mandatory, plugin reads nginx log which is chowned for root:adm)
  • env.graphs — which graphs to produce (optional, list of graphs separated by spaces, default — cache http time request)
  • env.log — log file path (mandatory, ex.: /var/log/nginx/upstream.log)
  • env.upstream — list of upstreams to monitor (mandatory, including port numbers separated by space, ex.: 10.0.0.1:80 10.0.0.2:8080)
  • env.statuses — list of http status codes to monitor (optional, default — all statuses, ex.: 200 403 404 410 500 502)
  • env.percentiles — which percentiles to draw on time graphs (optional, list of percentiles separated by spaces, default - 80)

Installation

Copy file to directory /usr/share/munin/pligins/ and create symbolic link(s) for each log file you wish to monitor.

Specify log_format at /etc/nginx/conf.d/upstream.conf:

log_format upstream "ua=[$upstream_addr] ut=[$upstream_response_time] us=[$upstream_status] cs=[$upstream_cache_status]"

Use it in your site configuration (/etc/nginx/sites-enabled/anything.conf):

access_log /var/log/nginx/upstream.log upstream;

And specify some options in munin-node.conf:

[nginx_upstream_multi_upstream]
user root
env.graphs cache http time request
env.log /var/log/nginx/upstream.log
env.upstream 10.0.0.1:80 10.0.0.2:8080 unix:/tmp/upstream3
env.statuses 200 403 404 410 500 502
env.percentiles 50 80

About

Multigraph plugin showing lots of usefull things about nginx upstreams

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages