Skip to main content

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).

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ironic-prometheus-exporter-0.1.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

ironic_prometheus_exporter-0.1.0-py2.py3-none-any.whl (28.4 kB view details)

Uploaded Python 2 Python 3

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

Hashes for ironic-prometheus-exporter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d7c8947a70ff12ed5604baf95f285fe57663e84f43e7f1cb40dcbb81f92538f0
MD5 8b2e0b8f501cdccdbe8366c7fd27289c
BLAKE2b-256 b782e144b328c3f676787937856c206148defeac7696cacc27a978423ed334b4

See more details on using hashes here.

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

Hashes for ironic_prometheus_exporter-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e8baeee2bb586859e91e133dddf44d2ea3bc513c0e50a5b8fb74d273752e1731
MD5 7e2f09a214df683d601860226291f0e1
BLAKE2b-256 196c6a6a8a80d15a6010fb96f3cf04c21b05403a5d5331b4c38dd6bcf9ca1de6

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page