diff options
Diffstat (limited to 'collectors/python.d.plugin/powerdns')
-rw-r--r-- | collectors/python.d.plugin/powerdns/Makefile.inc | 13 | ||||
-rw-r--r-- | collectors/python.d.plugin/powerdns/README.md | 104 | ||||
-rw-r--r-- | collectors/python.d.plugin/powerdns/powerdns.chart.py | 153 | ||||
-rw-r--r-- | collectors/python.d.plugin/powerdns/powerdns.conf | 76 |
4 files changed, 0 insertions, 346 deletions
diff --git a/collectors/python.d.plugin/powerdns/Makefile.inc b/collectors/python.d.plugin/powerdns/Makefile.inc deleted file mode 100644 index 256d32a40..000000000 --- a/collectors/python.d.plugin/powerdns/Makefile.inc +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later - -# THIS IS NOT A COMPLETE Makefile -# IT IS INCLUDED BY ITS PARENT'S Makefile.am -# IT IS REQUIRED TO REFERENCE ALL FILES RELATIVE TO THE PARENT - -# install these files -dist_python_DATA += powerdns/powerdns.chart.py -dist_pythonconfig_DATA += powerdns/powerdns.conf - -# do not install these files, but include them in the distribution -dist_noinst_DATA += powerdns/README.md powerdns/Makefile.inc - diff --git a/collectors/python.d.plugin/powerdns/README.md b/collectors/python.d.plugin/powerdns/README.md deleted file mode 100644 index 02449e68e..000000000 --- a/collectors/python.d.plugin/powerdns/README.md +++ /dev/null @@ -1,104 +0,0 @@ -<!-- -title: "PowerDNS monitoring with Netdata" -custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/python.d.plugin/powerdns/README.md -sidebar_label: "PowerDNS" ---> - -# PowerDNS monitoring with Netdata - -Monitors authoritative server and recursor statistics. - -Powerdns charts: - -1. **Queries and Answers** - - - udp-queries - - udp-answers - - tcp-queries - - tcp-answers - -2. **Cache Usage** - - - query-cache-hit - - query-cache-miss - - packetcache-hit - - packetcache-miss - -3. **Cache Size** - - - query-cache-size - - packetcache-size - - key-cache-size - - meta-cache-size - -4. **Latency** - - - latency - - Powerdns Recursor charts: - -1. **Questions In** - - - questions - - ipv6-questions - - tcp-queries - -2. **Questions Out** - - - all-outqueries - - ipv6-outqueries - - tcp-outqueries - - throttled-outqueries - -3. **Answer Times** - - - answers-slow - - answers0-1 - - answers1-10 - - answers10-100 - - answers100-1000 - -4. **Timeouts** - - - outgoing-timeouts - - outgoing4-timeouts - - outgoing6-timeouts - -5. **Drops** - - - over-capacity-drops - -6. **Cache Usage** - - - cache-hits - - cache-misses - - packetcache-hits - - packetcache-misses - -7. **Cache Size** - - - cache-entries - - packetcache-entries - - negcache-entries - -## Configuration - -Edit the `python.d/powerdns.conf` configuration file using `edit-config` from the Netdata [config -directory](/docs/configure/nodes.md), which is typically at `/etc/netdata`. - -```bash -cd /etc/netdata # Replace this path with your Netdata config directory, if different -sudo ./edit-config python.d/powerdns.conf -``` - -```yaml -local: - name : 'local' - url : 'http://127.0.0.1:8081/api/v1/servers/localhost/statistics' - header : - X-API-Key: 'change_me' -``` - ---- - - diff --git a/collectors/python.d.plugin/powerdns/powerdns.chart.py b/collectors/python.d.plugin/powerdns/powerdns.chart.py deleted file mode 100644 index b951e0c1a..000000000 --- a/collectors/python.d.plugin/powerdns/powerdns.chart.py +++ /dev/null @@ -1,153 +0,0 @@ -# -*- coding: utf-8 -*- -# Description: powerdns netdata python.d module -# Author: Ilya Mashchenko (ilyam8) -# Author: Luke Whitworth -# SPDX-License-Identifier: GPL-3.0-or-later - -from json import loads - -from bases.FrameworkServices.UrlService import UrlService - -ORDER = [ - 'questions', - 'cache_usage', - 'cache_size', - 'latency', -] - -CHARTS = { - 'questions': { - 'options': [None, 'PowerDNS Queries and Answers', 'count', 'questions', 'powerdns.questions', 'line'], - 'lines': [ - ['udp-queries', None, 'incremental'], - ['udp-answers', None, 'incremental'], - ['tcp-queries', None, 'incremental'], - ['tcp-answers', None, 'incremental'] - ] - }, - 'cache_usage': { - 'options': [None, 'PowerDNS Cache Usage', 'count', 'cache', 'powerdns.cache_usage', 'line'], - 'lines': [ - ['query-cache-hit', None, 'incremental'], - ['query-cache-miss', None, 'incremental'], - ['packetcache-hit', 'packet-cache-hit', 'incremental'], - ['packetcache-miss', 'packet-cache-miss', 'incremental'] - ] - }, - 'cache_size': { - 'options': [None, 'PowerDNS Cache Size', 'count', 'cache', 'powerdns.cache_size', 'line'], - 'lines': [ - ['query-cache-size', None, 'absolute'], - ['packetcache-size', 'packet-cache-size', 'absolute'], - ['key-cache-size', None, 'absolute'], - ['meta-cache-size', None, 'absolute'] - ] - }, - 'latency': { - 'options': [None, 'PowerDNS Latency', 'microseconds', 'latency', 'powerdns.latency', 'line'], - 'lines': [ - ['latency', None, 'absolute'] - ] - } -} - -RECURSOR_ORDER = ['questions-in', 'questions-out', 'answer-times', 'timeouts', 'drops', 'cache_usage', 'cache_size'] - -RECURSOR_CHARTS = { - 'questions-in': { - 'options': [None, 'PowerDNS Recursor Questions In', 'count', 'questions', 'powerdns_recursor.questions-in', - 'line'], - 'lines': [ - ['questions', None, 'incremental'], - ['ipv6-questions', None, 'incremental'], - ['tcp-questions', None, 'incremental'] - ] - }, - 'questions-out': { - 'options': [None, 'PowerDNS Recursor Questions Out', 'count', 'questions', 'powerdns_recursor.questions-out', - 'line'], - 'lines': [ - ['all-outqueries', None, 'incremental'], - ['ipv6-outqueries', None, 'incremental'], - ['tcp-outqueries', None, 'incremental'], - ['throttled-outqueries', None, 'incremental'] - ] - }, - 'answer-times': { - 'options': [None, 'PowerDNS Recursor Answer Times', 'count', 'performance', 'powerdns_recursor.answer-times', - 'line'], - 'lines': [ - ['answers-slow', None, 'incremental'], - ['answers0-1', None, 'incremental'], - ['answers1-10', None, 'incremental'], - ['answers10-100', None, 'incremental'], - ['answers100-1000', None, 'incremental'] - ] - }, - 'timeouts': { - 'options': [None, 'PowerDNS Recursor Questions Time', 'count', 'performance', 'powerdns_recursor.timeouts', - 'line'], - 'lines': [ - ['outgoing-timeouts', None, 'incremental'], - ['outgoing4-timeouts', None, 'incremental'], - ['outgoing6-timeouts', None, 'incremental'] - ] - }, - 'drops': { - 'options': [None, 'PowerDNS Recursor Drops', 'count', 'performance', 'powerdns_recursor.drops', 'line'], - 'lines': [ - ['over-capacity-drops', None, 'incremental'] - ] - }, - 'cache_usage': { - 'options': [None, 'PowerDNS Recursor Cache Usage', 'count', 'cache', 'powerdns_recursor.cache_usage', 'line'], - 'lines': [ - ['cache-hits', None, 'incremental'], - ['cache-misses', None, 'incremental'], - ['packetcache-hits', 'packet-cache-hit', 'incremental'], - ['packetcache-misses', 'packet-cache-miss', 'incremental'] - ] - }, - 'cache_size': { - 'options': [None, 'PowerDNS Recursor Cache Size', 'count', 'cache', 'powerdns_recursor.cache_size', 'line'], - 'lines': [ - ['cache-entries', None, 'absolute'], - ['packetcache-entries', None, 'absolute'], - ['negcache-entries', None, 'absolute'] - ] - } -} - - -class Service(UrlService): - def __init__(self, configuration=None, name=None): - UrlService.__init__(self, configuration=configuration, name=name) - self.order = ORDER - self.definitions = CHARTS - self.url = configuration.get('url', 'http://127.0.0.1:8081/api/v1/servers/localhost/statistics') - - def check(self): - self._manager = self._build_manager() - if not self._manager: - return None - - d = self._get_data() - if not d: - return False - - if is_recursor(d): - self.order = RECURSOR_ORDER - self.definitions = RECURSOR_CHARTS - self.module_name = 'powerdns_recursor' - - return True - - def _get_data(self): - data = self._get_raw_data() - if not data: - return None - return dict((d['name'], d['value']) for d in loads(data)) - - -def is_recursor(d): - return 'over-capacity-drops' in d and 'tcp-questions' in d diff --git a/collectors/python.d.plugin/powerdns/powerdns.conf b/collectors/python.d.plugin/powerdns/powerdns.conf deleted file mode 100644 index 559bf175e..000000000 --- a/collectors/python.d.plugin/powerdns/powerdns.conf +++ /dev/null @@ -1,76 +0,0 @@ -# netdata python.d.plugin configuration for powerdns -# -# 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 - -# penalty indicates whether to apply penalty to update_every in case of failures. -# Penalty will increase every 5 failed updates in a row. Maximum penalty is 10 minutes. -# penalty: yes - -# autodetection_retry sets the job re-check interval in seconds. -# The job is not deleted if check fails. -# Attempts to start the job are made once every autodetection_retry. -# This feature is disabled by default. -# autodetection_retry: 0 - -# ---------------------------------------------------------------------- -# 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 -# penalty: yes # the JOB's penalty -# autodetection_retry: 0 # the JOB's re-check interval in seconds -# -# Additionally to the above, apache also supports the following: -# -# url: 'URL' # the URL to fetch powerdns performance statistics -# header: -# X-API-Key: 'Key' # API key -# -# ---------------------------------------------------------------------- -# AUTO-DETECTION JOBS -# only one of them will run (they have the same name) - -# localhost: -# name : 'local' -# url : 'http://127.0.0.1:8081/api/v1/servers/localhost/statistics' -# header: -# X-API-Key: 'change_me' |