diff options
Diffstat (limited to 'src/collectors/python.d.plugin/nsd/metadata.yaml')
-rw-r--r-- | src/collectors/python.d.plugin/nsd/metadata.yaml | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/src/collectors/python.d.plugin/nsd/metadata.yaml b/src/collectors/python.d.plugin/nsd/metadata.yaml new file mode 100644 index 000000000..f5e2c46b0 --- /dev/null +++ b/src/collectors/python.d.plugin/nsd/metadata.yaml @@ -0,0 +1,201 @@ +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: NSD version + description: | + The version of `nsd` must be 4.0+. + - 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: + 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 |