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

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

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