2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/nginx/nginx_byprojects
2017-04-18 23:32:55 +02:00
..
byprojects_access replace hard-coded paths (e.g. '/var/lib/munin/plugin-state') with '$MUNIN_PLUGSTATE' 2017-04-18 23:32:55 +02:00
byprojects_bandwidth replace hard-coded paths (e.g. '/var/lib/munin/plugin-state') with '$MUNIN_PLUGSTATE' 2017-04-18 23:32:55 +02:00
byprojects_inout_bandwidth replace hard-coded paths (e.g. '/var/lib/munin/plugin-state') with '$MUNIN_PLUGSTATE' 2017-04-18 23:32:55 +02:00
LICENSE.txt Add file expansion (glob) and switch to MIT license 2013-12-03 21:23:50 -05:00
README.md replace hard-coded paths (e.g. '/var/lib/munin/plugin-state') with '$MUNIN_PLUGSTATE' 2017-04-18 23:32:55 +02:00

The 'byprojects' family

Those plugins are used to monitor different projects or vhost (i.e. either different log files or using regular expression as filters) on the same web server.

munin_byprojects_access

Count the number of hits per projects/vhost.
byproject_access

munin_byprojects_bandwidth

Count the total bandwidth used by each projects/vhost. [Logtail] (https://www.fourmilab.ch/webtools/logtail/) is required.
byproject_bandwidth

munin_byprojects_inout_bandwidth

Counts the in/out bandwidth used by each projects/vhost. [Logtail] (https://www.fourmilab.ch/webtools/logtail/) is required.
byproject_inout_bandwidth

Installation

The setup is pretty straight forward. First you need to configure the plugin:

Define the path to logtail:

  $logtail = '/usr/local/bin/logtail';

Multiple logs can be used for the same project/vhost and a regular expression (regex) can be used as a filter:

  my %logs = (
    'prod' => [
                {'path' => '/home/prod/log/access.log'}
              ],
     'dev' => [
                {'path' => '/var/log/httpd/ssl-dev-access.log'},
                {'path' => '/home/dev/log/access*.log'} # glob is supported
              ],
    'test' => [
                {'path' => '/var/log/access.log', 'regex' => '"[A-Z]+ /test/'},
                {'path' => '/home/test/log/access.log'}
              ],
  );

In the previous example the prod project graph will be using everything in /home/prod/log/access.log. The test project will be using eveything in /home/test/log/access.log and stuff that match '"[A-Z] /test/' in /var/log/httpd/access.log (e.g. "GET /test/).

Then link the file just as any other plugins.

  ln -s /usr/local/sbin/<plugin> /usr/local/etc/munin/plugins/<plugin>

License

MIT