diff options
Diffstat (limited to 'conf.d/python.d')
-rw-r--r-- | conf.d/python.d/elasticsearch.conf | 7 | ||||
-rw-r--r-- | conf.d/python.d/fail2ban.conf | 19 | ||||
-rw-r--r-- | conf.d/python.d/mongodb.conf (renamed from conf.d/python.d/gunicorn_log.conf) | 26 | ||||
-rw-r--r-- | conf.d/python.d/nsd.conf (renamed from conf.d/python.d/nginx_log.conf) | 38 | ||||
-rw-r--r-- | conf.d/python.d/smartd_log.conf | 85 | ||||
-rw-r--r-- | conf.d/python.d/varnish.conf | 8 | ||||
-rw-r--r-- | conf.d/python.d/web_log.conf | 147 |
7 files changed, 287 insertions, 43 deletions
diff --git a/conf.d/python.d/elasticsearch.conf b/conf.d/python.d/elasticsearch.conf index 1faee858..f98aaece 100644 --- a/conf.d/python.d/elasticsearch.conf +++ b/conf.d/python.d/elasticsearch.conf @@ -62,6 +62,13 @@ # cluster_stats: False/True # Calls to cluster stats elasticsearch API. Enabled by default. # # ---------------------------------------------------------------------- +# IMPORTANT Information +# +# Module uses python `requests` package +# +# You need to install it manually. (python-requests or python3-requests depending on the version of python). +# +# # AUTO-DETECTION JOBS # only one of them will run (they have the same name) # diff --git a/conf.d/python.d/fail2ban.conf b/conf.d/python.d/fail2ban.conf index cd805be8..d9664e35 100644 --- a/conf.d/python.d/fail2ban.conf +++ b/conf.d/python.d/fail2ban.conf @@ -56,22 +56,17 @@ # # Additionally to the above, fail2ban also supports the following: # -# log_path: 'path to fail2ban.log' # Default: '/var/log/fail2ban.log' +# log_path: 'path to fail2ban.log' # Default: '/var/log/fail2ban.log' # conf_path: 'path to jail.local/jail.conf' # Default: '/etc/fail2ban/jail.local' -# exclude: 'jails you want to exclude from autodetection' # Default: '[]' empty list +# conf_dir: 'path to jail.d/' # Default: '' empty +# exclude: 'jails you want to exclude from autodetection' # Default: '[]' empty list #------------------------------------------------------------------------------------------------------------------ -# IMPORTANT Information -# -# fail2ban.log file MUST BE readable by netdata. -# A good idea is to do this by adding the -# # create 0640 root netdata -# to fail2ban conf at logrotate.d -# # ------------------------------------------------------------------------------------------------------------------ # AUTO-DETECTION JOBS # only one of them will run (they have the same name) -#local: -# log_path: '/var/log/fail2ban.log' -# conf_path: '/etc/fail2ban/jail.local' +local: + log_path: '/var/log/fail2ban.log' + conf_path: '/etc/fail2ban/jail.local' +# conf_dir: '/etc/fail2ban/jail.d/' # exclude: 'dropbear apache' diff --git a/conf.d/python.d/gunicorn_log.conf b/conf.d/python.d/mongodb.conf index 8fea483f..a19b6570 100644 --- a/conf.d/python.d/gunicorn_log.conf +++ b/conf.d/python.d/mongodb.conf @@ -1,4 +1,4 @@ -# netdata python.d.plugin configuration for nginx gunicorn log +# netdata python.d.plugin configuration for mongodb # # This file is in YaML format. Generally the format is: # @@ -54,20 +54,24 @@ # priority: 60000 # the JOB's order on the dashboard # retries: 5 # the JOB's number of restoration attempts # -# Additionally to the above, gunicorn_log also supports the following: +# Additionally to the above, mongodb also supports the following: # -# path: 'PATH' # the path to gunicorn's access.log +# host: 'IP or HOSTNAME' # type <str> the host to connect to +# port: PORT # type <int> the port to connect to +# +# in all cases, the following can also be set: +# +# user: 'username' # the mongodb username to use +# pass: 'password' # the mongodb password to use # # ---------------------------------------------------------------------- +# to connect to the mongodb on localhost, without a password: +# ---------------------------------------------------------------------- # AUTO-DETECTION JOBS # only one of them will run (they have the same name) -gunicorn_log: - name: 'local' - path: '/var/log/gunicorn/access.log' - -gunicorn_log2: - name: 'local' - path: '/var/log/gunicorn/gunicorn-access.log' - +local: + name : 'local' + host : '127.0.0.1' + port : 27017 diff --git a/conf.d/python.d/nginx_log.conf b/conf.d/python.d/nsd.conf index 6a53c520..7566fe85 100644 --- a/conf.d/python.d/nginx_log.conf +++ b/conf.d/python.d/nsd.conf @@ -1,4 +1,4 @@ -# netdata python.d.plugin configuration for nginx log +# netdata python.d.plugin configuration for nsd # # This file is in YaML format. Generally the format is: # @@ -20,7 +20,8 @@ # update_every sets the default data collection frequency. # If unset, the python.d.plugin default is used. -# update_every: 1 +# nsd-control is slow, so once every 30 seconds +# update_every: 30 # priority controls the order of charts at the netdata dashboard. # Lower numbers move the charts towards the top of the page. @@ -54,19 +55,32 @@ # priority: 60000 # the JOB's order on the dashboard # retries: 5 # the JOB's number of restoration attempts # -# Additionally to the above, nginx_log also supports the following: +# Additionally to the above, nsd also supports the following: # -# path: 'PATH' # the path to nginx's access.log +# command: 'nsd-control stats_noreset' # the command to run # # ---------------------------------------------------------------------- -# AUTO-DETECTION JOBS -# only one of them will run (they have the same name) +# IMPORTANT Information +# +# Netdata must have permissions to run `nsd-control stats_noreset` command +# +# - Example-1 (use "sudo") +# 1. sudoers (e.g. visudo -f /etc/sudoers.d/netdata) +# Defaults:netdata !requiretty +# netdata ALL=(ALL) NOPASSWD: /usr/sbin/nsd-control stats_noreset +# 2. etc/netdata/python.d/nsd.conf +# local: +# update_every: 30 +# command: 'sudo /usr/sbin/nsd-control stats_noreset' +# +# - Example-2 (add "netdata" user to "nsd" group) +# usermod -aG nsd netdata +# -nginx_log: - name: 'local' - path: '/var/log/nginx/access.log' +# ---------------------------------------------------------------------- +# AUTO-DETECTION JOBS -nginx_log2: - name: 'local' - path: '/var/log/nginx/nginx-access.log' +local: + update_every: 30 + command: 'nsd-control stats_noreset' diff --git a/conf.d/python.d/smartd_log.conf b/conf.d/python.d/smartd_log.conf new file mode 100644 index 00000000..e16454df --- /dev/null +++ b/conf.d/python.d/smartd_log.conf @@ -0,0 +1,85 @@ +# netdata python.d.plugin configuration for smartd 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. +# +# 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, smartd_log also supports the following: +# +# log_path: '/path/to/smartdlogs' # path to smartd log files. Default is /var/log/smartd +# raw_values: no # raw or normalized values on charts. Default is normalized. +# smart_attributes: '1 2 3 4 44' # add additional smart attributes charts. Default are ['1', '4', '5', '7', '9', '12', '193', '194', '197', '198', '200']. +# +# ---------------------------------------------------------------------- +# Additional information +# Plugin reads smartd log files (-A option). +# You need to add (man smartd) to /etc/default/smartmontools '-i 600 -A /var/log/smartd/' to pass additional options to smartd on startup +# Then restart smartd service and check /path/log/smartdlogs +# ls /var/log/smartd/ +# CDC_WD10EZEX_00BN5A0-WD_WCC3F7FLVZS9.ata.csv WDC_WD10EZEX_00BN5A0-WD_WCC3F7FLVZS9.ata.csv ZDC_WD10EZEX_00BN5A0-WD_WCC3F7FLVZS9.ata.csv +# +# Smartd APPEND logs at every run. Its NOT RECOMMENDED to set '-i' option below 60 sec. +# STRONGLY RECOMMENDED to create smartd conf file for logrotate +# +# RAW vs NORMALIZED values +# "Normalized value", commonly referred to as just "value". This is a most universal measurement, on the scale from 0 (bad) to some maximum (good) value. +# Maximum values are typically 100, 200 or 253. Rule of thumb is: high values are good, low values are bad. +# +# "Raw value" - the value of the attribute as it is tracked by the device, before any normalization takes place. +# Some raw numbers provide valuable insight when properly interpreted. These cases will be discussed later on. +# Raw values are typically listed in hexadecimal numbers. The raw value has different structure for different vendors and is often not meaningful as a decimal number. +# +# +# JOB configuration +# +log_path: '/var/log/smartd' diff --git a/conf.d/python.d/varnish.conf b/conf.d/python.d/varnish.conf index 56dc6334..c25f3010 100644 --- a/conf.d/python.d/varnish.conf +++ b/conf.d/python.d/varnish.conf @@ -55,11 +55,3 @@ # retries: 5 # the JOB's number of restoration attempts # # -# -# The only you need is to add netdata to 'varnish' group -# -# Check it from cmd -# id netdata -# -# uid=999(netdata) gid=999(netdata) группы=999(netdata),118(varnish) -# diff --git a/conf.d/python.d/web_log.conf b/conf.d/python.d/web_log.conf new file mode 100644 index 00000000..06656285 --- /dev/null +++ b/conf.d/python.d/web_log.conf @@ -0,0 +1,147 @@ +# 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<address>[\da-f.:]+) -.*?"(?P<method>[A-Z]+) (?P<url>.*?)" (?P<code>[1-9]\d{2}) (?P<bytes_sent>\d+) (?P<resp_length>\d+) (?P<resp_time>\d\.\d+) ' +# time_multiplier: 1000000 # type <int> - 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' |