BIND 9 (Berkeley Internet Name Domain) is a popular open source implementation of DNS, available for Linux. BIND allows for the publishing of DNS information on the internet as well as resolving DNS queries for the users.

Whenever a socket has both an IP address and a port number, it is said to be "bound" to that port or address. This means it can receive data because it has a complete address, otherwise known as network binding.

Why use a Telegraf plugin for BIND 9 Nameserver Statistics?

Your application delivery could have problems that are based on DNS issues, outages, record misconfigurations and cache poisoning. Therefore, it is important to ensure DNS availability and performance. Monitoring your DNS with the BIND 9 Nameserver Statistics Telegraf Plugin will help you collect metrics that could enable your organizations to pinpoint issues and get to resolution faster.

When an issue occurs, it's certainly helpful to understand what went wrong — but you also need to know why. Without that critical piece of context, you may know how to fix the problem, but you're just going to find yourself dealing with it over and over again. This is why using the Telegraf plugin for BIND 9 Nameserver statistics is so important — it gives you the insight needed to stop a problem permanently, thus improving application performance in a meaningful way.

How to collect BIND 9 Nameserver Statistics using the Telegraf plugin

One of the most important things about BIND 9 Nameserver statistics to understand is that Version 2 statistics (meaning those made available in BIND 9.6 through 9.9) and Version 3 statistics (meaning all those in BIND 9.9 and above) are supported. For BIND 9.9 to support Version 3 statistics, however, it will need to be built specifically with the --enable-newstats compile flag. Likewise, it must be requested via the correct URL or else the process will not work.

Version 3 statistics are the default XML format in BIND 9.10 and above. JSON statistics schema version 1 is supported in BIND 9.10 and above, but some distributions still do not enable support for JSON statistics in their BIND packages by default.

This BIND 9 Nameserver Statistics Telegraf Plugin decodes the JSON or XML statistics provided by BIND 9 nameservers. Configurations include:

  • urls []string: A list of BIND statistics channel URLs to collect from. Do not include a trailing slash in the URL. The default is "http://localhost:8053/xml/v3".
  • gather_memory_contexts bool: Reports per-context memory statistics.
  • gather_views bool: Reports per-view query statistics.

In addition, you will need to configure the BIND Daemon by adding the following to your named.conf if running Telegraf on the same host as the BIND daemon:

statistics-channels {
inet 127.0.0.1 port 8053;
};

Alternatively, specify a wildcard address (e.g., 0.0.0.0) or specific IP address of an interface to configure the BIND daemon to listen on that address. Consult the BIND Administrator Reference for more details. You should also make an effort to secure this statistics channel with an ACL or some other technique, but you really only need to do so if it is publicly reachable. In other situations it's a good precaution to take, but it likely isn't necessary.

Key BIND 9 Nameserver Statistics metrics to use for monitoring

Some of the important BIND 9 Nameserver Statistics metrics that you should proactively monitor include:

  • bind_counter
    • name=value (multiple)
  • bind_memory
    • Total_use
    • In_use
    • Block_size
    • Context_size
    • lost
  • bind_memory_context
    • Total
    • in_use

For more information, please check out the documentation.

Project URL   Documentation

Related Resources

Tomcat Monitoring Template

Learn how to use the Tomcat Monitoring Template by reading this page.

Zookeeper Monitoring Template

How to use the Zookeeper Monitoring Template

Infrastructure and application monitoring

The solution to monitor your entire infrastructure stack, including servers, containers, databases and cloud services.

Scroll to Top