A Prometheus exporter for NextDNS data.
LOG_LEVEL (default: INFO)METRICS_PORT (default: 9948)METRICS_PATH (default: /metrics)NEXTDNS_RESULT_WINDOW (default: -5m)NEXTDNS_RESULT_LIMIT (default: 50)NEXTDNS_PROFILE (required: docs. You can provide multiple profiles separated by commas)NEXTDNS_API_KEY (required: docs)For most accurate data, the scrape interval should match the value set via NEXTDNS_RESULT_WINDOW.
Recommended scrape timeout is 10 seconds.
Either download a recent release or compile the binary yourself (go build -o nextdns-exporter) and run:
export NEXTDNS_PROFILE=<profile_id>
export NEXTDNS_API_KEY=<api_key>
./nextdns-exporter
2022-11-19T12:39:34.479-0800 [INFO] starting exporter: port=:9948 path=/metrics
docker run -d \
-p 9948:9948 \
-e NEXTDNS_PROFILE=<profile_id> \
-e NEXTDNS_API_KEY=<api_key> \
ghcr.io/raylas/nextdns-exporter
The following will create a local stack of the exporter, Prometheus, and Grafana:
NEXTDNS_PROFILE=<profile_id> \
NEXTDNS_API_KEY=<api_key> \
docker-compose up -d
Access Grafana by navigating to http://localhost:3000.
Note: Data will take a few minutes to trickle in.
A basic Grafana dashboard is found here.

Go
99.1%
A Prometheus exporter for NextDNS data.
LOG_LEVEL (default: INFO)METRICS_PORT (default: 9948)METRICS_PATH (default: /metrics)NEXTDNS_RESULT_WINDOW (default: -5m)NEXTDNS_RESULT_LIMIT (default: 50)NEXTDNS_PROFILE (required: docs. You can provide multiple profiles separated by commas)NEXTDNS_API_KEY (required: docs)For most accurate data, the scrape interval should match the value set via NEXTDNS_RESULT_WINDOW.
Recommended scrape timeout is 10 seconds.
Either download a recent release or compile the binary yourself (go build -o nextdns-exporter) and run:
export NEXTDNS_PROFILE=<profile_id>
export NEXTDNS_API_KEY=<api_key>
./nextdns-exporter
2022-11-19T12:39:34.479-0800 [INFO] starting exporter: port=:9948 path=/metrics
docker run -d \
-p 9948:9948 \
-e NEXTDNS_PROFILE=<profile_id> \
-e NEXTDNS_API_KEY=<api_key> \
ghcr.io/raylas/nextdns-exporter
The following will create a local stack of the exporter, Prometheus, and Grafana:
NEXTDNS_PROFILE=<profile_id> \
NEXTDNS_API_KEY=<api_key> \
docker-compose up -d
Access Grafana by navigating to http://localhost:3000.
Note: Data will take a few minutes to trickle in.
A basic Grafana dashboard is found here.

Go
99.1%