# netdata python.d.plugin configuration for web log # # This file is in YaML format. Generally the format is: # # name: value # # There are 2 sections: # - global variables # - one or more JOBS # # JOBS allow you to collect values from multiple sources. # Each source will have its own set of charts. # # JOB parameters have to be indented (using spaces only, example below). # ---------------------------------------------------------------------- # Global Variables # These variables set the defaults for all JOBs, however each JOB # may define its own, overriding the defaults. # update_every sets the default data collection frequency. # If unset, the python.d.plugin default is used. # update_every: 1 # priority controls the order of charts at the netdata dashboard. # Lower numbers move the charts towards the top of the page. # If unset, the default for python.d.plugin is used. # priority: 60000 # retries sets the number of retries to be made in case of failures. # If unset, the default for python.d.plugin is used. # Attempts to restore the service are made once every update_every # and only if the module has collected values in the past. # retries: 5 # ---------------------------------------------------------------------- # JOBS (data collection sources) # # The default JOBS share the same *name*. JOBS with the same name # are mutually exclusive. Only one of them will be allowed running at # any time. This allows autodetection to try several alternatives and # pick the one that works. # # Any number of jobs is supported. # ---------------------------------------------------------------------- # PLUGIN CONFIGURATION # # All python.d.plugin JOBS (for all its modules) support a set of # predefined parameters. These are: # # job_name: # name: myname # the JOB's name as it will appear at the # # dashboard (by default is the job_name) # # JOBs sharing a name are mutually exclusive # update_every: 1 # the JOB's data collection frequency # priority: 60000 # the JOB's order on the dashboard # retries: 5 # the JOB's number of restoration attempts # # Additionally to the above, web_log also supports the following: # # path: 'PATH' # the path to web server log file # detailed_response_codes: yes/no # Default: yes. Additional chart where response codes are not grouped # detailed_response_aggregate: yes/no # Default: yes. Not aggregated detailed response codes charts # all_time : yes/no # Default: yes. All time unique client IPs chart (50000 addresses ~ 400KB) # categories: # requests per url chart configuration # cacti: 'cacti.*' # name(dimension): REGEX to match # observium: 'observium.*' # name(dimension): REGEX to match # stub_status: 'stub_status' # name(dimension): REGEX to match # custom_log_format: # define a custom log format # pattern: '(?P
[\da-f.:]+) -.*?"(?P[A-Z]+) (?P.*?)" (?P[1-9]\d{2}) (?P\d+) (?P\d+) (?P\d\.\d+) ' # time_multiplier: 1000000 # type - convert time to microseconds # ---------------------------------------------------------------------- # WEB SERVER CONFIGURATION # # Make sure the web server log directory and the web server log files # can be read by user 'netdata'. # # To enable the timings chart and the requests size dimension, the # web server needs to log them. This is how to add them: # # nginx: # log_format netdata '$remote_addr - $remote_user [$time_local] ' # '"$request" $status $body_bytes_sent ' # '$request_length $request_time ' # '"$http_referer" "$http_user_agent"'; # access_log /var/log/nginx/access.log netdata; # # apache (you need mod_logio enabled): # LogFormat "%h %l %u %t \"%r\" %>s %O %I %D \"%{Referer}i\" \"%{User-Agent}i\"" vhost_netdata # LogFormat "%h %l %u %t \"%r\" %>s %O %I %D \"%{Referer}i\" \"%{User-Agent}i\"" netdata # CustomLog "/var/log/apache2/access.log" netdata # ---------------------------------------------------------------------- # AUTO-DETECTION JOBS # only one of them per web server will run (when they have the same name) # ------------------------------------------- # nginx log on various distros # debian, arch nginx_log: name: 'nginx' path: '/var/log/nginx/access.log' # gentoo nginx_log2: name: 'nginx' path: '/var/log/nginx/localhost.access_log' # ------------------------------------------- # apache log on various distros # debian apache_log: name: 'apache' path: '/var/log/apache2/access.log' # gentoo apache_log2: name: 'apache' path: '/var/log/apache2/access_log' # arch apache_log3: name: 'apache' path: '/var/log/httpd/access_log' # debian apache_vhosts_log: name: 'apache_vhosts' path: '/var/log/apache2/other_vhosts_access.log' # ------------------------------------------- # gunicorn log on various distros gunicorn_log: name: 'gunicorn' path: '/var/log/gunicorn/access.log' gunicorn_log2: name: 'gunicorn' path: '/var/log/gunicorn/gunicorn-access.log'