|license| |version| |pypi_version| |pypi_downloads|
.. |license| image:: https://img.shields.io/github/license/mweinelt/kea-exporter
:alt: GitHub license
:target: https://github.com/mweinelt/kea-exporter/blob/develop/LICENSE
.. |version| image:: https://img.shields.io/github/v/tag/mweinelt/kea-exporter
:alt: GitHub tag (latest SemVer)
.. |pypi_version| image:: https://img.shields.io/pypi/v/kea-exporter
:alt: PyPI - Version
.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/kea-exporter
:alt: PyPI - Downloads
kea-exporter
============
Prometheus Exporter for the ISC Kea DHCP Server.
From v0.4.0 on Kea >=1.3.0 is required, as the configuration, specifically
subnet information, will be read from the control socket.
Installation
------------
.. image:: https://repology.org/badge/vertical-allrepos/kea-exporter.svg
:alt: Package versions via repology.org
:target: https://repology.org/project/kea-exporter/versions
The latest stable version can always be installed from PyPi:
::
$ pip install kea-exporter
and upgraded with:
::
$ pip install --upgrade kea-exporter
Docker
--------
A docker image is available and can be configured with environment variables see usage section
::
$ docker pull ghcr.io/mweinelt/kea-exporter
Features
--------
- DHCP4 & DHCP6 Metrics (tested against Kea 2.4.1)
- Configuration and statistics via control socket or http api
Currently not working:
- Automatic config reload (through inotify)
Known Limitations
-----------------
The following features are not supported yet, help is welcome.
- Shared Networks
- Custom Subnet Identifiers
Usage
-----
Pass one or multiple Unix Domain Socket path or HTTP Control-Agent URLs
to the `kea-exporter` executable. All other options are optional.
::
Usage: python -m kea_exporter [OPTIONS] TARGETS...
Options:
-a, --address TEXT Address that the exporter binds to.
-p, --port INTEGER Port that the exporter binds to.
-i, --interval INTEGER Minimal interval between two queries to Kea in
seconds.
--client-cert PATH Path to client certificate used to in HTTP requests
--client-key PATH Path to client key used in HTTP requests
--version Show the version and exit.
--help Show this message and exit.
You can also configure the exporter using environment variables:
::
export ADDRESS="0.0.0.0"
export PORT="9547"
export INTERVAL="7.5"
export TARGETS="http://router.example.com:8000"
export CLIENT_CERT="/etc/kea-exporter/client.crt"
export CLIENT_KEY="/etc/kea-exporter/client.key"
Configure Control Socket
////////////////////////
The exporter uses Kea's control socket to request both configuration and
statistics. Consult the documentation on how to set up the control socket:
- https://kea.readthedocs.io/en/latest/arm/dhcp4-srv.html#management-api-for-the-dhcpv4-server
- https://kea.readthedocs.io/en/latest/arm/dhcp6-srv.html#management-api-for-the-dhcpv6-server
HTTPS
///////////
If you need to validate a self-signed certificate on a Kea instance, you can set `REQUESTS_CA_BUNDLE`
environment variable to a bundle CA path.
Permissions
///////////
Kea Exporter needs to be able to read and write on the socket, hence it's
permissions might need to be modified accordingly.
Grafana-Dashboard
/////////////////
A dashboard for this exporter is available at https://grafana.com/grafana/dashboards/12688.
Raw data
{
"_id": null,
"home_page": "https://github.com/mweinelt/kea-exporter",
"name": "kea-exporter",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "prometheus exporter metrics kea dhcp",
"author": null,
"author_email": "Martin Weinelt <hexa@darmstadt.ccc.de>",
"download_url": "https://files.pythonhosted.org/packages/2f/c7/16b41a242c032073cd076d4aefbfb020246d111829c479556408d707b32f/kea_exporter-0.7.0.tar.gz",
"platform": null,
"description": "|license| |version| |pypi_version| |pypi_downloads|\n\n.. |license| image:: https://img.shields.io/github/license/mweinelt/kea-exporter\n :alt: GitHub license\n :target: https://github.com/mweinelt/kea-exporter/blob/develop/LICENSE\n\n.. |version| image:: https://img.shields.io/github/v/tag/mweinelt/kea-exporter\n :alt: GitHub tag (latest SemVer)\n\n.. |pypi_version| image:: https://img.shields.io/pypi/v/kea-exporter\n :alt: PyPI - Version\n\n.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/kea-exporter\n :alt: PyPI - Downloads\n\nkea-exporter\n============\n\nPrometheus Exporter for the ISC Kea DHCP Server.\n\nFrom v0.4.0 on Kea >=1.3.0 is required, as the configuration, specifically\nsubnet information, will be read from the control socket.\n\nInstallation\n------------\n\n.. image:: https://repology.org/badge/vertical-allrepos/kea-exporter.svg\n :alt: Package versions via repology.org\n :target: https://repology.org/project/kea-exporter/versions\n\nThe latest stable version can always be installed from PyPi:\n\n::\n\n $ pip install kea-exporter\n\n\nand upgraded with:\n\n::\n\n $ pip install --upgrade kea-exporter\n\nDocker\n--------\n\nA docker image is available and can be configured with environment variables see usage section\n\n::\n\n $ docker pull ghcr.io/mweinelt/kea-exporter\n\nFeatures\n--------\n\n- DHCP4 & DHCP6 Metrics (tested against Kea 2.4.1)\n- Configuration and statistics via control socket or http api\n\nCurrently not working:\n\n- Automatic config reload (through inotify)\n\n\nKnown Limitations\n-----------------\n\nThe following features are not supported yet, help is welcome.\n\n- Shared Networks\n- Custom Subnet Identifiers\n\nUsage\n-----\n\nPass one or multiple Unix Domain Socket path or HTTP Control-Agent URLs\nto the `kea-exporter` executable. All other options are optional.\n\n::\n\n\tUsage: python -m kea_exporter [OPTIONS] TARGETS...\n\n\tOptions:\n\t -a, --address TEXT Address that the exporter binds to.\n\t -p, --port INTEGER Port that the exporter binds to.\n\t -i, --interval INTEGER Minimal interval between two queries to Kea in\n\t seconds.\n\t --client-cert PATH Path to client certificate used to in HTTP requests\n\t --client-key PATH Path to client key used in HTTP requests\n\t --version Show the version and exit.\n\t --help Show this message and exit.\n\nYou can also configure the exporter using environment variables:\n\n::\n\n export ADDRESS=\"0.0.0.0\"\n export PORT=\"9547\"\n export INTERVAL=\"7.5\"\n export TARGETS=\"http://router.example.com:8000\"\n export CLIENT_CERT=\"/etc/kea-exporter/client.crt\"\n export CLIENT_KEY=\"/etc/kea-exporter/client.key\"\n\n\nConfigure Control Socket\n////////////////////////\n\nThe exporter uses Kea's control socket to request both configuration and \nstatistics. Consult the documentation on how to set up the control socket:\n\n- https://kea.readthedocs.io/en/latest/arm/dhcp4-srv.html#management-api-for-the-dhcpv4-server\n- https://kea.readthedocs.io/en/latest/arm/dhcp6-srv.html#management-api-for-the-dhcpv6-server\n\nHTTPS\n///////////\nIf you need to validate a self-signed certificate on a Kea instance, you can set `REQUESTS_CA_BUNDLE`\nenvironment variable to a bundle CA path.\n\nPermissions\n///////////\n\nKea Exporter needs to be able to read and write on the socket, hence it's\npermissions might need to be modified accordingly.\n\nGrafana-Dashboard\n/////////////////\n\nA dashboard for this exporter is available at https://grafana.com/grafana/dashboards/12688.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Export Kea Metrics in the Prometheus Exposition Format",
"version": "0.7.0",
"project_urls": {
"Changelog": "https://github.com/mweinelt/kea-exporter/blob/develop/HISTORY",
"Homepage": "https://github.com/mweinelt/kea-exporter",
"Repository": "https://github.com/mweinelt/kea-exporter.git"
},
"split_keywords": [
"prometheus",
"exporter",
"metrics",
"kea",
"dhcp"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8240c546f092fead590eadf9835bf65680a8d31c37a62be3c3d488bde94cc739",
"md5": "dab4df86e94bd0d69eaa6c222d40e012",
"sha256": "4a974729a456341c953b8c17399efd36676ac344624fd8b9b67844f0bbeb43d3"
},
"downloads": -1,
"filename": "kea_exporter-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dab4df86e94bd0d69eaa6c222d40e012",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 10260,
"upload_time": "2024-03-21T05:13:12",
"upload_time_iso_8601": "2024-03-21T05:13:12.433319Z",
"url": "https://files.pythonhosted.org/packages/82/40/c546f092fead590eadf9835bf65680a8d31c37a62be3c3d488bde94cc739/kea_exporter-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2fc716b41a242c032073cd076d4aefbfb020246d111829c479556408d707b32f",
"md5": "23b500dddfb149128bfc875b9a715899",
"sha256": "927da2c1859cc96f74b607d69b32c5eeb534e9f2722d1cea60a34b3a0bbf62a9"
},
"downloads": -1,
"filename": "kea_exporter-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "23b500dddfb149128bfc875b9a715899",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 9610,
"upload_time": "2024-03-21T05:13:14",
"upload_time_iso_8601": "2024-03-21T05:13:14.335107Z",
"url": "https://files.pythonhosted.org/packages/2f/c7/16b41a242c032073cd076d4aefbfb020246d111829c479556408d707b32f/kea_exporter-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-21 05:13:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mweinelt",
"github_project": "kea-exporter",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kea-exporter"
}