Skip to main content

Bind9 monitoring with Netdata

Bind9 (or named) is a very flexible, full-featured DNS system.

This module will monitor one or more Bind9 servers, depending on your configuration.

Requirements#

  • bind version 9.9+ with configured statistics-channels

For detail information on how to get your bind installation ready, please refer to the following articles:

Normally, you will need something like this in your named.conf.options:

statistics-channels {
inet 127.0.0.1 port 8653 allow { 127.0.0.1; };
inet ::1 port 8653 allow { ::1; };
};

Charts#

It produces the following charts:

  • Global Received Requests by IP version (IPv4, IPv6) in requests/s
  • Global Successful Queries in queries/s
  • Global Recursive Clients in clients
  • Global Queries by IP Protocol (TCP, UDP) in queries/s
  • Global Queries Analysis in queries/s
  • Global Received Updates in updates/s
  • Global Query Failures in failures/s
  • Global Query Failures Analysis in failures/s
  • Global Server Statistics in operations/s
  • Global Incoming Requests by OpCode in requests/s
  • Global Incoming Requests by Query Type in requests/s

Per View Statistics (the following set will be added for each bind view):

  • Resolver Active Queries in queries
  • Resolver Statistics in operations/s
  • Resolver Round Trip Time in queries/s
  • Resolver Requests by Query Type in requests/s
  • Resolver Cache Hits in operations/s

Configuration#

Edit the go.d/bind.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d/bind.conf

Needs only url. Here is an example for several servers:

jobs:
- name: local
url: http://127.0.0.1:8653/json/v1
- name: local
url: http://127.0.0.1:8653/xml/v3
- name: remote
url: http://203.0.113.10:8653/xml/v3
- name: local_with_views
url: http://127.0.0.1:8653/json/v1
permit_view: '!_* *'

View filter syntax: simple patterns.

For all available options please see module configuration file.

Troubleshooting#

To troubleshoot issues with the bind 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.

First, navigate to your plugins directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the setting plugins directory. Once you're in the plugin's directory, switch to the netdata user.

cd /usr/libexec/netdata/plugins.d/
sudo -u netdata -s

You can now run the go.d.plugin to debug the collector:

./go.d.plugin -d -m bind

Reach out

If you need help after reading this doc, search our community forum for an answer. There's a good chance someone else has already found a solution to the same issue.

Documentation

Community