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=/metricsdocker run -d \
-p 9948:9948 \
-e NEXTDNS_PROFILE=<profile_id> \
-e NEXTDNS_API_KEY=<api_key> \
ghcr.io/raylas/nextdns-exporterThe following will create a local stack of the exporter, Prometheus, and Grafana:
NEXTDNS_PROFILE=<profile_id> \
NEXTDNS_API_KEY=<api_key> \
docker-compose up -dAccess Grafana by navigating to http://localhost:3000.
Note: Data will take a few minutes to trickle in.
A basic Grafana dashboard is found here.
