summaryrefslogtreecommitdiffstats
path: root/collectors/python.d.plugin/nsd
diff options
context:
space:
mode:
Diffstat (limited to 'collectors/python.d.plugin/nsd')
-rw-r--r--collectors/python.d.plugin/nsd/metadata.yaml320
-rw-r--r--collectors/python.d.plugin/nsd/metrics.csv7
2 files changed, 197 insertions, 130 deletions
diff --git a/collectors/python.d.plugin/nsd/metadata.yaml b/collectors/python.d.plugin/nsd/metadata.yaml
index ce4ce35b6..bd0a256f3 100644
--- a/collectors/python.d.plugin/nsd/metadata.yaml
+++ b/collectors/python.d.plugin/nsd/metadata.yaml
@@ -1,124 +1,198 @@
-meta:
- plugin_name: python.d.plugin
- module_name: nsd
- monitored_instance:
- name: NSD
- link: ''
- categories:
- - data-collection.dns-and-dhcp-servers
- icon_filename: 'nsd.svg'
- related_resources:
- integrations:
- list: []
- info_provided_to_referring_integrations:
- description: ''
- keywords: []
- most_popular: false
-overview:
- data_collection:
- metrics_description: 'Monitor NSD performance for optimal authoritative DNS server operations. Monitor query rates, response times, and error rates to ensure reliable DNS service delivery.'
- method_description: ''
- supported_platforms:
- include: []
- exclude: []
- multi-instance: true
- additional_permissions:
- description: ''
- default_behavior:
- auto_detection:
- description: ''
- limits:
- description: ''
- performance_impact:
- description: ''
-setup:
- prerequisites:
- list: []
- configuration:
- file:
- name: ''
- description: ''
- options:
- description: ''
- folding:
- title: ''
- enabled: true
- list: []
- examples:
- folding:
- enabled: true
- title: ''
- list: []
-troubleshooting:
- problems:
- list: []
-alerts: []
-metrics:
- folding:
- title: Metrics
- enabled: false
- description: ""
- availability: []
- scopes:
- - name: global
- description: ""
- labels: []
+plugin_name: python.d.plugin
+modules:
+ - meta:
+ plugin_name: python.d.plugin
+ module_name: nsd
+ monitored_instance:
+ name: Name Server Daemon
+ link: https://nsd.docs.nlnetlabs.nl/en/latest/#
+ categories:
+ - data-collection.dns-and-dhcp-servers
+ icon_filename: "nsd.svg"
+ related_resources:
+ integrations:
+ list: []
+ info_provided_to_referring_integrations:
+ description: ""
+ keywords:
+ - nsd
+ - name server daemon
+ most_popular: false
+ overview:
+ data_collection:
+ metrics_description: |
+ This collector monitors NSD statistics like queries, zones, protocols, query types and more.
+ method_description: |
+ It uses the `nsd-control stats_noreset` command to gather metrics.
+ supported_platforms:
+ include: []
+ exclude: []
+ multi_instance: false
+ additional_permissions:
+ description: ""
+ default_behavior:
+ auto_detection:
+ description: If permissions are satisfied, the collector will be able to run `nsd-control stats_noreset`, thus collecting metrics.
+ limits:
+ description: ""
+ performance_impact:
+ description: ""
+ setup:
+ prerequisites:
+ list:
+ - title: Provide Netdata the permissions to run the command
+ description: |
+ Netdata must have permissions to run the `nsd-control stats_noreset` command.
+
+ You can:
+
+ - Add "netdata" user to "nsd" group:
+ ```
+ usermod -aG nsd netdata
+ ```
+ - Add Netdata to sudoers
+ 1. Edit the sudoers file:
+ ```
+ visudo -f /etc/sudoers.d/netdata
+ ```
+ 2. Add the entry:
+ ```
+ Defaults:netdata !requiretty
+ netdata ALL=(ALL) NOPASSWD: /usr/sbin/nsd-control stats_noreset
+ ```
+
+ > Note that you will need to set the `command` option to `sudo /usr/sbin/nsd-control stats_noreset` if you use this method.
+
+ configuration:
+ file:
+ name: "python.d/nsd.conf"
+ options:
+ description: |
+ This particular collector does not need further configuration to work if permissions are satisfied, but you can always customize it's data collection behavior.
+
+ There are 2 sections:
+
+ * Global variables
+ * One or more JOBS that can define multiple different instances to monitor.
+
+ The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.
+
+ Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition.
+
+ Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.
+ folding:
+ title: "Config options"
+ enabled: true
+ list:
+ - name: update_every
+ description: Sets the default data collection frequency.
+ default_value: 30
+ required: false
+ - name: priority
+ description: Controls the order of charts at the netdata dashboard.
+ default_value: 60000
+ required: false
+ - name: autodetection_retry
+ description: Sets the job re-check interval in seconds.
+ default_value: 0
+ required: false
+ - name: penalty
+ description: Indicates whether to apply penalty to update_every in case of failures.
+ default_value: yes
+ required: false
+ - name: name
+ description: >
+ Job name. This value will overwrite the `job_name` value. 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.
+ default_value: ""
+ required: false
+ - name: command
+ description: The command to run
+ default_value: "nsd-control stats_noreset"
+ required: false
+ examples:
+ folding:
+ enabled: true
+ title: "Config"
+ list:
+ - name: Basic
+ description: A basic configuration example.
+ folding:
+ enabled: false
+ config: |
+ local:
+ name: 'nsd_local'
+ command: 'nsd-control stats_noreset'
+ troubleshooting:
+ problems:
+ list: []
+ alerts: []
metrics:
- - name: nsd.queries
- description: queries
- unit: "queries/s"
- chart_type: line
- dimensions:
- - name: queries
- - name: nsd.zones
- description: zones
- unit: "zones"
- chart_type: stacked
- dimensions:
- - name: master
- - name: slave
- - name: nsd.protocols
- description: protocol
- unit: "queries/s"
- chart_type: stacked
- dimensions:
- - name: udp
- - name: udp6
- - name: tcp
- - name: tcp6
- - name: nsd.type
- description: query type
- unit: "queries/s"
- chart_type: stacked
- dimensions:
- - name: A
- - name: NS
- - name: CNAME
- - name: SOA
- - name: PTR
- - name: HINFO
- - name: MX
- - name: NAPTR
- - name: TXT
- - name: AAAA
- - name: SRV
- - name: ANY
- - name: nsd.transfer
- description: transfer
- unit: "queries/s"
- chart_type: stacked
- dimensions:
- - name: NOTIFY
- - name: AXFR
- - name: nsd.rcode
- description: return code
- unit: "queries/s"
- chart_type: stacked
- dimensions:
- - name: NOERROR
- - name: FORMERR
- - name: SERVFAIL
- - name: NXDOMAIN
- - name: NOTIMP
- - name: REFUSED
- - name: YXDOMAIN
+ folding:
+ title: Metrics
+ enabled: false
+ description: ""
+ availability: []
+ scopes:
+ - name: global
+ description: "These metrics refer to the entire monitored application."
+ labels: []
+ metrics:
+ - name: nsd.queries
+ description: queries
+ unit: "queries/s"
+ chart_type: line
+ dimensions:
+ - name: queries
+ - name: nsd.zones
+ description: zones
+ unit: "zones"
+ chart_type: stacked
+ dimensions:
+ - name: master
+ - name: slave
+ - name: nsd.protocols
+ description: protocol
+ unit: "queries/s"
+ chart_type: stacked
+ dimensions:
+ - name: udp
+ - name: udp6
+ - name: tcp
+ - name: tcp6
+ - name: nsd.type
+ description: query type
+ unit: "queries/s"
+ chart_type: stacked
+ dimensions:
+ - name: A
+ - name: NS
+ - name: CNAME
+ - name: SOA
+ - name: PTR
+ - name: HINFO
+ - name: MX
+ - name: NAPTR
+ - name: TXT
+ - name: AAAA
+ - name: SRV
+ - name: ANY
+ - name: nsd.transfer
+ description: transfer
+ unit: "queries/s"
+ chart_type: stacked
+ dimensions:
+ - name: NOTIFY
+ - name: AXFR
+ - name: nsd.rcode
+ description: return code
+ unit: "queries/s"
+ chart_type: stacked
+ dimensions:
+ - name: NOERROR
+ - name: FORMERR
+ - name: SERVFAIL
+ - name: NXDOMAIN
+ - name: NOTIMP
+ - name: REFUSED
+ - name: YXDOMAIN
diff --git a/collectors/python.d.plugin/nsd/metrics.csv b/collectors/python.d.plugin/nsd/metrics.csv
deleted file mode 100644
index b82812bf6..000000000
--- a/collectors/python.d.plugin/nsd/metrics.csv
+++ /dev/null
@@ -1,7 +0,0 @@
-metric,scope,dimensions,unit,description,chart_type,labels,plugin,module
-nsd.queries,,queries,queries/s,queries,line,,python.d.plugin,nsd
-nsd.zones,,"master, slave",zones,zones,stacked,,python.d.plugin,nsd
-nsd.protocols,,"udp, udp6, tcp, tcp6",queries/s,protocol,stacked,,python.d.plugin,nsd
-nsd.type,,"A, NS, CNAME, SOA, PTR, HINFO, MX, NAPTR, TXT, AAAA, SRV, ANY",queries/s,query type,stacked,,python.d.plugin,nsd
-nsd.transfer,,"NOTIFY, AXFR",queries/s,transfer,stacked,,python.d.plugin,nsd
-nsd.rcode,,"NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP, REFUSED, YXDOMAIN",queries/s,return code,stacked,,python.d.plugin,nsd