Prometheus Exporter for Ironic Hardware Sensor data
Project description
Overview
Tool to expose hardware sensor data in the Prometheus format through an HTTP endpoint.
The hardware sensor data come from bare metal machines deployed using OpenStack Bare Metal Service (ironic).
License: Apache License, Version 2.0
Documentation: https://docs.openstack.org/ironic-prometheus-exporter/
Source: https://opendev.org/openstack/ironic-prometheus-exporter
Bugs: https://storyboard.openstack.org/#!/project/openstack/ironic-prometheus-exporter
Installation
1 - Install ironic-prometheus-exporter
$ pip install --user ironic-prometheus-exporter
2- Verify if the driver is installed
$ pip install entry_point_inspector --user <user> $ epi group show oslo.messaging.notify.drivers
Output in case of a successful instalation: prometheus_exporter is listed in the Name column and the Error column should be empty.
Output in case of an unsuccessful instalation: prometheus_exporter is listed in the Name column and the Error column will have more information.
Configuration
After install the driver you will need to update the ironic.conf and add the following information:
[conductor] send_sensor_data=true [oslo_messaging_notifications] driver = prometheus_exporter transport_url = fake:// location=/tmp/ironic_prometheus_exporter
Running exporter application
The Flask Application is responsible to merge all the metrics files present in the directory set in [oslo_messaging_notifications]/location.
To run the Flask Application follow the steps listed below: 1 - open the repository directory
$ cd ironic-prometheus-exporter/
2- set the FLASK_* environment variables and the location of the ironic.conf file.
$ export IRONIC_CONFIG=/etc/ironic/ironic.conf $ export FLASK_APP=ironic_prometheus_exporter/app/exporter.py $ export FLASK_RUN_HOST=$HOST_IP $ export FLASK_RUN_PORT=5000
3- run the Flask Application
$ python -m flask run &
Running under uWSGI
Reproduce the Steps 1 and 2 (You don’t need to set FLASK_APP variable) and run the command below:
$ uwsgi --plugin python --http-socket ${FLASK_RUN_HOST}:${FLASK_RUN_PORT} --module ironic_prometheus_exporter.app.wsgi:application
Contributing
Pull requests: Gerrit (see developer’s guide)
Bugs and RFEs: StoryBoard (please do NOT report bugs to Github)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ironic-prometheus-exporter-0.1.0.tar.gz
.
File metadata
- Download URL: ironic-prometheus-exporter-0.1.0.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.5.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7c8947a70ff12ed5604baf95f285fe57663e84f43e7f1cb40dcbb81f92538f0 |
|
MD5 | 8b2e0b8f501cdccdbe8366c7fd27289c |
|
BLAKE2b-256 | b782e144b328c3f676787937856c206148defeac7696cacc27a978423ed334b4 |
Provenance
File details
Details for the file ironic_prometheus_exporter-0.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: ironic_prometheus_exporter-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.5.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8baeee2bb586859e91e133dddf44d2ea3bc513c0e50a5b8fb74d273752e1731 |
|
MD5 | 7e2f09a214df683d601860226291f0e1 |
|
BLAKE2b-256 | 196c6a6a8a80d15a6010fb96f3cf04c21b05403a5d5331b4c38dd6bcf9ca1de6 |