Prometheus exporter for the NerdQAxe firmware.
It queries /api/system/info on the miner at each Prometheus scrape and exposes
the result as metrics in base units (hashes/second, volts, amperes, watts,
seconds, degrees Celsius). One exporter serves several miners: repeat
--target and every device is queried in parallel on each scrape.
Source, full metric list and Grafana dashboard: github.com/TheoBrigitte/nerdqaxe-exporter.
| Tag | Description |
|---|---|
latest | Latest release |
X.Y.Z | A specific release, e.g. 0.1.0 |
Platforms: linux/amd64, linux/arm64, linux/arm/v7.
The image is built from distroless/static-debian13 and contains the exporter binary alone. It needs no capabilities, no volume and no writable filesystem.
$ docker run --rm -p 10055:10055 docker.io/theo01/nerdqaxe-exporter --target http://nerdqaxe.local
{"level":"info","target":"http://nerdqaxe.local","device_model":"NerdQAxe++","asic_model":"BM1370","hostname":"nerdqaxe","version":"V1.0.37.2-LTS","time":"2026-09-13T12:09:14Z","message":"device reachable"}
{"level":"info","address":":10055","path":"/metrics","targets":["http://nerdqaxe.local"],"time":"2026-09-13T12:09:14Z","message":"listening"}
Metrics are then served on http://localhost:10055/metrics.
Targets can also be given as a comma-separated list in NERDQAXE_TARGET, which
suits Compose better than repeated flags:
services:
nerdqaxe-exporter:
image: docker.io/theo01/nerdqaxe-exporter:latest
ports:
- "10055:10055"
environment:
NERDQAXE_TARGET: http://miner1.local,http://miner2.local
restart: unless-stopped
A device that cannot be queried at startup stops the exporter; once it is
running, a device that stops answering is reported as nerdqaxe_up 0 and the
others keep being exported.
.local names are resolved over mDNS, which a container does not do by
default. Use the device IP address, or run with --network host.
| Flag | Default | Description |
|---|---|---|
--target, -t | required | Base URL of a device, repeat for several devices, also read from NERDQAXE_TARGET as a comma-separated list |
--timeout | 5s | Timeout for a device query |
--web.listen-address | :10055 | Address to listen on for telemetry |
--web.metrics-path | /metrics | Path under which to expose metrics |
--log.level | info | Only log at or above this level: debug, info, warn, error |
--log.format | json | Log output format: json, console |
--version, -V | Print the version and exit |
Scrape config, unchanged by the number of devices, which the hostname and
mac labels tell apart:
scrape_configs:
- job_name: nerdqaxe
static_configs:
- targets: ["nerdqaxe-exporter:10055"]
Content type
Image
Digest
sha256:d79914f3f…
Size
5.6 MB
Last updated
2 days ago
docker pull theo01/nerdqaxe-exporter