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-1.1.0.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

ironic_prometheus_exporter-1.1.0-py2.py3-none-any.whl (42.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ironic-prometheus-exporter-1.1.0.tar.gz.

File metadata

  • Download URL: ironic-prometheus-exporter-1.1.0.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.2

File hashes

Hashes for ironic-prometheus-exporter-1.1.0.tar.gz
Algorithm Hash digest
SHA256 18b5a8185b6c90be849e5757f88c8cd25dbb461c447d74bda09423a24ffb65a4
MD5 55aafe813c53d67f030d9a143cde2b17
BLAKE2b-256 88787d216b8013f801ba3b7ee2e2cce5099c394995a0c4365a61d156588c6270

See more details on using hashes here.

Provenance

File details

Details for the file ironic_prometheus_exporter-1.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ironic_prometheus_exporter-1.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.2

File hashes

Hashes for ironic_prometheus_exporter-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b4c3c669115973ad46c28b0b19156a791f491e0d3bbab8933231aa4b6fa09197
MD5 107fc412e2e1113418eaee3c751e0d62
BLAKE2b-256 441315b211f0d0ead9b1f8d2aea90cd28b3bbec1b839fbbe248da855780cfefd

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