Skip to content


Switch branches/tags

Latest commit

* Decode resp.Body directly, without ioutil.ReadAll

Signed-off-by: Daniel Swarbrick <[email protected]>

* Increase timeout to get around flaky test

When checking for race conditions, the concurrency seems to result in
the XML unmarshalling taking longer than usual, so we need to be a bit
more liberal with the timeout.

Signed-off-by: Daniel Swarbrick <[email protected]>

Signed-off-by: Daniel Swarbrick <[email protected]>
Signed-off-by: Daniel Swarbrick <[email protected]>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Dec 2, 2019

Bind Exporter

GoDoc Build Status Go Report Card

Export BIND (named/dns) v9+ service metrics to Prometheus.

Getting started

Build and run from source

go get
cd $GOPATH/src/
./bind_exporter [flags]

Run in Docker container

  1. Pull Docker container using a specific version:
docker pull prometheuscommunity/bind-exporter:v0.3.0
  1. Run in a Docker container (as daemon), use --network host when communicating with named via localhost:
docker run -d --network host prometheuscommunity/bind-exporter:v0.3.0


Run bind_exporter in a Docker container and communicate with named on non-default statistics URL:

docker run -d prometheuscommunity/bind-exporter:v0.3.0 --bind.stats-url http://<IP/hostname>:8053

TLS and basic authentication

The Bind Exporter supports TLS and basic authentication.

To use TLS and/or basic authentication, you need to pass a configuration file using the --web.config.file parameter. The format of the file is described in the exporter-toolkit repository.

Other resources

Grafana Dashboard:


Make sure BIND was built with libxml2 support. You can check with the following command: named -V | grep libxml2.

Configure BIND to open a statistics channel. It's recommended to run the bind_exporter next to BIND, so it's only necessary to open a port locally.

statistics-channels {
  inet port 8053 allow {; };

Copyright @ 2016 DigitalOcean™ Inc.