zhmc-prometheus-exporter


Namezhmc-prometheus-exporter JSON
Version 2.0.0 PyPI version JSON
download
home_pageNone
SummaryIBM Z HMC Prometheus Exporter
upload_time2024-10-09 18:48:30
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseApache License, Version 2.0
keywords hmc prometheus monitoring
VCS
bugtrack_url
requirements zhmcclient urllib3 jsonschema Jinja2 ruamel.yaml PyYAML pyrsistent
Travis-CI
coveralls test coverage
            # IBM Z HMC Prometheus Exporter

[![Version on Pypi](https://img.shields.io/pypi/v/zhmc-prometheus-exporter.svg)](https://pypi.python.org/pypi/zhmc-prometheus-exporter/)
[![Test status (master)](https://github.com/zhmcclient/zhmc-prometheus-exporter/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/zhmcclient/zhmc-prometheus-exporter/actions/workflows/test.yml?query=branch%3Amaster)
[![Docs status (master)](https://readthedocs.org/projects/zhmc-prometheus-exporter/badge/?version=latest)](https://readthedocs.org/projects/zhmc-prometheus-exporter/builds/)
[![Test coverage (master)](https://coveralls.io/repos/github/zhmcclient/zhmc-prometheus-exporter/badge.svg?branch=master)](https://coveralls.io/github/zhmcclient/zhmc-prometheus-exporter?branch=master)

The **IBM Z HMC Prometheus Exporter** is a
[Prometheus exporter](https://prometheus.io/docs/instrumenting/exporters)
written in Python that retrieves metrics from the
[IBM Z](https://www.ibm.com/it-infrastructure/z) Hardware Management Console
(HMC) and exports them to the [Prometheus](https://prometheus.io)
monitoring system.

The exporter supports all metrics provided by the Z HMC and in addition
a number of useful metrics that are based on properties of HMC resources
(e.g. memory or CPU weight of LPARs). The resource property based
metrics are obtained in the background via change notifications emitted
by the HMC and via asynchronous retrieval for properties where change
notifications are not supported. This keeps the time for providing the
metric data to Prometheus short (sub-second to a few seconds).

The exporter attempts to stay up as much as possible, for example it
performs automatic session renewals with the HMC if the logon session
expires, and it survives HMC reboots and automatically picks up metrics
collection again once the HMC come back up.

# Documentation

- [Documentation](https://zhmc-prometheus-exporter.readthedocs.io/en/stable/)
- [Change log](https://zhmc-prometheus-exporter.readthedocs.io/en/stable/changes.html)

# Quickstart

- Install the exporter and all of its Python dependencies as follows:

  ``` bash
  $ pip install zhmc-prometheus-exporter
  ```

- Provide a *config file* for use by the exporter.

  The exporter config file tells the exporter which HMC to talk to for
  obtaining metrics, and which userid and password to use for logging on to
  the HMC.

  It also defines whether HTTP or HTTPS is used for Prometheus, and HTTPS
  related certificates and keys.

  Finally, it defines which metric groups to fetch and to provide to
  Prometheus.

  Download the
  [sample exporter config file](https://github.com/zhmcclient/zhmc-prometheus-exporter/blob/master/examples/config.yaml)
  as `config.yaml` and edit that copy accordingly.

  For details, see
  [Exporter config file](https://zhmc-prometheus-exporter.readthedocs.io/en/stable/usage.html#exporter-config-file).

- Run the exporter as follows:

  ``` bash
  $ zhmc_prometheus_exporter -c config.yaml
  Exporter is up and running on port 9291
  ```

  Depending on the number of CPCs managed by your HMC, and dependent
  on how many metrics are enabled, it will take some time until the
  exporter reports to be up and running. You can see what it does in
  the mean time by using the `-v` option. Subsequent requests to the
  exporter will be sub-second.

- Direct your web browser at <http://localhost:9291> (or
  <https://localhost:9291> when using HTTPS) to see the exported
  Prometheus metrics. Refreshing the browser will update the metrics.

# Reporting issues

If you encounter a problem, please report it as an
[issue on GitHub](https://github.com/zhmcclient/zhmc-prometheus-exporter/issues).

# License

This package is licensed under the
[Apache 2.0 License](http://apache.org/licenses/LICENSE-2.0).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "zhmc-prometheus-exporter",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Andreas Maier <maiera@de.ibm.com>, Kathir Velusamy <kathir.velu@in.ibm.com'>",
    "keywords": "hmc, prometheus, monitoring",
    "author": null,
    "author_email": "Jakob Naucke <jakob.naucke@ibm.com>",
    "download_url": "https://files.pythonhosted.org/packages/4b/06/b1f7afa964e032c7c9cf6f332fe3551bbdc1c7ec96f4b48563e7fd06791b/zhmc_prometheus_exporter-2.0.0.tar.gz",
    "platform": "any",
    "description": "# IBM Z HMC Prometheus Exporter\n\n[![Version on Pypi](https://img.shields.io/pypi/v/zhmc-prometheus-exporter.svg)](https://pypi.python.org/pypi/zhmc-prometheus-exporter/)\n[![Test status (master)](https://github.com/zhmcclient/zhmc-prometheus-exporter/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/zhmcclient/zhmc-prometheus-exporter/actions/workflows/test.yml?query=branch%3Amaster)\n[![Docs status (master)](https://readthedocs.org/projects/zhmc-prometheus-exporter/badge/?version=latest)](https://readthedocs.org/projects/zhmc-prometheus-exporter/builds/)\n[![Test coverage (master)](https://coveralls.io/repos/github/zhmcclient/zhmc-prometheus-exporter/badge.svg?branch=master)](https://coveralls.io/github/zhmcclient/zhmc-prometheus-exporter?branch=master)\n\nThe **IBM Z HMC Prometheus Exporter** is a\n[Prometheus exporter](https://prometheus.io/docs/instrumenting/exporters)\nwritten in Python that retrieves metrics from the\n[IBM Z](https://www.ibm.com/it-infrastructure/z) Hardware Management Console\n(HMC) and exports them to the [Prometheus](https://prometheus.io)\nmonitoring system.\n\nThe exporter supports all metrics provided by the Z HMC and in addition\na number of useful metrics that are based on properties of HMC resources\n(e.g. memory or CPU weight of LPARs). The resource property based\nmetrics are obtained in the background via change notifications emitted\nby the HMC and via asynchronous retrieval for properties where change\nnotifications are not supported. This keeps the time for providing the\nmetric data to Prometheus short (sub-second to a few seconds).\n\nThe exporter attempts to stay up as much as possible, for example it\nperforms automatic session renewals with the HMC if the logon session\nexpires, and it survives HMC reboots and automatically picks up metrics\ncollection again once the HMC come back up.\n\n# Documentation\n\n- [Documentation](https://zhmc-prometheus-exporter.readthedocs.io/en/stable/)\n- [Change log](https://zhmc-prometheus-exporter.readthedocs.io/en/stable/changes.html)\n\n# Quickstart\n\n- Install the exporter and all of its Python dependencies as follows:\n\n  ``` bash\n  $ pip install zhmc-prometheus-exporter\n  ```\n\n- Provide a *config file* for use by the exporter.\n\n  The exporter config file tells the exporter which HMC to talk to for\n  obtaining metrics, and which userid and password to use for logging on to\n  the HMC.\n\n  It also defines whether HTTP or HTTPS is used for Prometheus, and HTTPS\n  related certificates and keys.\n\n  Finally, it defines which metric groups to fetch and to provide to\n  Prometheus.\n\n  Download the\n  [sample exporter config file](https://github.com/zhmcclient/zhmc-prometheus-exporter/blob/master/examples/config.yaml)\n  as `config.yaml` and edit that copy accordingly.\n\n  For details, see\n  [Exporter config file](https://zhmc-prometheus-exporter.readthedocs.io/en/stable/usage.html#exporter-config-file).\n\n- Run the exporter as follows:\n\n  ``` bash\n  $ zhmc_prometheus_exporter -c config.yaml\n  Exporter is up and running on port 9291\n  ```\n\n  Depending on the number of CPCs managed by your HMC, and dependent\n  on how many metrics are enabled, it will take some time until the\n  exporter reports to be up and running. You can see what it does in\n  the mean time by using the `-v` option. Subsequent requests to the\n  exporter will be sub-second.\n\n- Direct your web browser at <http://localhost:9291> (or\n  <https://localhost:9291> when using HTTPS) to see the exported\n  Prometheus metrics. Refreshing the browser will update the metrics.\n\n# Reporting issues\n\nIf you encounter a problem, please report it as an\n[issue on GitHub](https://github.com/zhmcclient/zhmc-prometheus-exporter/issues).\n\n# License\n\nThis package is licensed under the\n[Apache 2.0 License](http://apache.org/licenses/LICENSE-2.0).\n",
    "bugtrack_url": null,
    "license": "Apache License, Version 2.0",
    "summary": "IBM Z HMC Prometheus Exporter",
    "version": "2.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/zhmcclient/zhmc-prometheus-exporter/issues",
        "Changelog": "https://zhmc-prometheus-exporter.readthedocs.io/en/stable/changes.html",
        "Documentation": "https://zhmc-prometheus-exporter.readthedocs.io/en/stable/",
        "Homepage": "https://github.com/zhmcclient/zhmc-prometheus-exporter",
        "Source Code": "https://github.com/zhmcclient/zhmc-prometheus-exporter"
    },
    "split_keywords": [
        "hmc",
        " prometheus",
        " monitoring"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c05e8ddb32c2b8cd0a13da5476b45ed45a05a5dc2b9fd188973f4440dd90bbc5",
                "md5": "8398ef050bfbf29de9d165d3c747e8a0",
                "sha256": "c866948d482c5138c958789d56a8f59fb27c5d5d0d855dd6dd77b914acc67f36"
            },
            "downloads": -1,
            "filename": "zhmc_prometheus_exporter-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8398ef050bfbf29de9d165d3c747e8a0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 93387,
            "upload_time": "2024-10-09T18:48:28",
            "upload_time_iso_8601": "2024-10-09T18:48:28.569321Z",
            "url": "https://files.pythonhosted.org/packages/c0/5e/8ddb32c2b8cd0a13da5476b45ed45a05a5dc2b9fd188973f4440dd90bbc5/zhmc_prometheus_exporter-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b06b1f7afa964e032c7c9cf6f332fe3551bbdc1c7ec96f4b48563e7fd06791b",
                "md5": "7b51462485e0eabed33aef6f45aa86f5",
                "sha256": "49d48ba23061626a79c35e1654880c14706b2ee3165800a397c5d83729485c38"
            },
            "downloads": -1,
            "filename": "zhmc_prometheus_exporter-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7b51462485e0eabed33aef6f45aa86f5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 180362,
            "upload_time": "2024-10-09T18:48:30",
            "upload_time_iso_8601": "2024-10-09T18:48:30.177067Z",
            "url": "https://files.pythonhosted.org/packages/4b/06/b1f7afa964e032c7c9cf6f332fe3551bbdc1c7ec96f4b48563e7fd06791b/zhmc_prometheus_exporter-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-09 18:48:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zhmcclient",
    "github_project": "zhmc-prometheus-exporter",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "zhmcclient",
            "specs": [
                [
                    ">=",
                    "1.18.0"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    ">=",
                    "1.26.19"
                ]
            ]
        },
        {
            "name": "jsonschema",
            "specs": [
                [
                    ">=",
                    "4.18.0"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    ">=",
                    "3.1.4"
                ]
            ]
        },
        {
            "name": "ruamel.yaml",
            "specs": [
                [
                    ">=",
                    "0.18.6"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "pyrsistent",
            "specs": [
                [
                    ">=",
                    "0.20.0"
                ]
            ]
        }
    ],
    "lcname": "zhmc-prometheus-exporter"
}
        
Elapsed time: 0.94302s