Skip to main content

DNSdist

Plugin: go.d.plugin Module: dnsdist

Overview​

This collector monitors DNSDist servers.

This collector is supported on all platforms.

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

Default Behavior​

Auto-Detection​

This integration doesn't support auto-detection.

Limits​

The default configuration for this integration does not impose any limits on data collection.

Performance Impact​

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Metrics​

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per DNSdist instance​

These metrics refer to the entire monitored application.

This scope has no labels.

Metrics:

MetricDimensionsUnit
dnsdist.queriesall, recursive, emptyqueries/s
dnsdist.queries_droppedrule_drop, dynamic_blocked, no_policy, non_queriesqueries/s
dnsdist.packets_droppedaclpackets/s
dnsdist.answersself_answered, nxdomain, refused, trunc_failuresanswers/s
dnsdist.backend_responsesresponsesresponses/s
dnsdist.backend_commerrorssend_errorserrors/s
dnsdist.backend_errorstimeouts, servfail, non_compliantresponses/s
dnsdist.cachehits, missesanswers/s
dnsdist.servercpusystem_state, user_statems/s
dnsdist.servermemmemory_usageMiB
dnsdist.query_latency1ms, 10ms, 50ms, 100ms, 1sec, slowqueries/s
dnsdist.query_latency_avg100, 1k, 10k, 1000kmicroseconds

Alerts​

There are no alerts configured by default for this integration.

Setup​

Prerequisites​

Enable DNSdist built-in Webserver​

For collecting metrics via HTTP, you need to enable the built-in webserver.

Configuration​

File​

The configuration file name for this integration is go.d/dnsdist.conf.

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/dnsdist.conf

Options​

The following options can be defined globally: update_every, autodetection_retry.

Config options
NameDescriptionDefaultRequired
update_everyData collection frequency.1no
autodetection_retryRecheck interval in seconds. Zero means no recheck will be scheduled.0no
urlServer URL.http://127.0.0.1:8083yes
usernameUsername for basic HTTP authentication.no
passwordPassword for basic HTTP authentication.no
proxy_urlProxy URL.no
proxy_usernameUsername for proxy basic HTTP authentication.no
proxy_passwordPassword for proxy basic HTTP authentication.no
timeoutHTTP request timeout.1no
methodHTTP request method.GETno
bodyHTTP request body.no
headersHTTP request headers.no
not_follow_redirectsRedirect handling policy. Controls whether the client follows redirects.nono
tls_skip_verifyServer certificate chain and hostname validation policy. Controls whether the client performs this check.nono
tls_caCertification authority that the client uses when verifying the server's certificates.no
tls_certClient tls certificate.no
tls_keyClient tls key.no

Examples​

Basic​

An example configuration.

Config
jobs:
- name: local
url: http://127.0.0.1:8083
headers:
X-API-Key: your-api-key # static pre-shared authentication key for access to the REST API (api-key).

Multi-instance​

Note: When you define multiple jobs, their names must be unique.

Collecting metrics from local and remote instances.

Config
jobs:
- name: local
url: http://127.0.0.1:8083
headers:
X-API-Key: 'your-api-key' # static pre-shared authentication key for access to the REST API (api-key).

- name: remote
url: http://203.0.113.0:8083
headers:
X-API-Key: 'your-api-key'

Troubleshooting​

Debug Mode​

To troubleshoot issues with the dnsdist collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
  • Switch to the netdata user.

    sudo -u netdata -s
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m dnsdist

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.