knot_exporter is a Prometheus exporter for Knot DNS's server and query statistics.
knot_exporter uses Python libknot wrapper to communicate with the Knot DNS server via a control unix socket, so Knot has to be installed on the same machine as knot_exporter, and knot_exporter must be executed by a user with access to Knot's socket path.
The libknot wrapper, along with other required dependencies, can be installed from requirements.txt with pip (ideally in a virtual environment):
$ pip install -r requirements.txt
The Knot instance also needs to be configured to collect per-zone query statistic. This can be done by enabling and configuring the stats module.
Once everything is in place, knot_exporter can be started like so:
$ ./knot_exporter.py --knot-library-path /path/to/libknot.so
To get a complete list of the available options, run:
$ ./knot_exporter.py --help
Copyright (C) 2018 Alessandro Ghedini <[email protected]>
Copyright (C) 2020 CZ.NIC, z.s.p.o. <[email protected]>
See COPYING for the license.