kea-exporter


Namekea-exporter JSON
Version 0.7.0 PyPI version JSON
download
home_pagehttps://github.com/mweinelt/kea-exporter
SummaryExport Kea Metrics in the Prometheus Exposition Format
upload_time2024-03-21 05:13:14
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.8
licenseMIT
keywords prometheus exporter metrics kea dhcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            |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"
}
        
Elapsed time: 0.20933s