📈 Prometheus metrics exporter for PowerDNS
Clone or download
#7 Compare This branch is 10 commits ahead of janeczku:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
Makefile.COMMON
README.md
metrics.go
powerdns_exporter.go
powerdns_exporter_test.go

README.md

PowerDNS Exporter

Travis

PowerDNS exporter for Prometheus

Periodically scrapes metrics via the PowerDNS HTTP-API and exports them via HTTP/JSON for consumption by Prometheus.

The following PowerDNS products are supported


Flags

Name Description Default
listen-address Host:Port pair to run exporter on :9120
metric-path Path under which to expose metrics for Prometheus /metrics
api-url Base-URL of PowerDNS authoritative server/recursor API http://localhost:8001/
api-key PowerDNS API Key -

The api-url flag value should be passed in this format:

  • PowerDNS server/recursor 3.x: http://<HOST>:<API-PORT>/
  • PowerDNS server/recursor 4.x: http://<HOST>:<API-PORT>/api/v1

Installation

Typical way of installing in Go should work.

go install

A Makefile is provided in case you find a need for it.

Usage

See here for instructions on how to enable the HTTP API in PowerDNS.

Then run the exporter like this:

go run powerdns_exporter api-url="http://<HOST>:<API-PORT>/" -api-key="<YOUR_API_KEY>"

Show help:

go run powerdns_exporter --help

Docker

To run the PowerDNS exporter as a Docker container, run:

$ docker run -p 9120:9120 janeczku/powerdns-exporter -api-url="http://<HOST>:<API-PORT>/" -api-key="<YOUR_API_KEY>"