Mthaddon Prometheus Openstack Exporter

Channel Version Revision Published Runs on
latest/stable 1 1 19 Mar 2021
Ubuntu 18.04 Ubuntu 16.10 Ubuntu 16.04 Ubuntu 14.04
juju deploy mthaddon-prometheus-openstack-exporter
Show information
You will need Juju 2.9 to be able to run this command. Learn how to upgrade to Juju 2.9.


16.04 18.04 14.04 16.10


Openstack exporter for Prometheus Read more

Discuss this charm

Share your thoughts on this charm with the community on discourse.

Join the discussion


This charm provides openstack-exporter services for prometheus


The fully built charm needs the following source branch

To build the charm, do:

Prepare the environment

mkdir -p layers charms/xenial
export JUJU_REPOSITORY=$PWD/charms

Clone the repositories

pushd layers
git clone

Build the charm, and symlink for juju-1 compatibility

charm build layers/charm-prometheus-openstack-exporter
ln -s ../builds/prometheus-openstack-exporter charms/xenial


With the OpenStack nova-compute and neutron-gateway charms:

juju deploy local:xenial/prometheus-openstack-exporter

This charm supports relating to keystone, but keystone-credentials interface seems to be flaky, and hard to remove-relation, so the charm works around this by adding 'os-credentials' setting as a YAML dict (see setting description hints)

juju config prometheus-openstack-exporter os-credentials="{ ... }"

juju add-relation prometheus-openstack-exporter swift-storage-z1
juju add-relation prometheus-openstack-exporter swift-storage-z2
juju add-relation prometheus-openstack-exporter swift-storage-z3
juju add-relation prometheus prometheus-openstack-exporter

Configuration Options

If you want to change the default instance size used as reference for number of schedulable vms:

juju config prometheus-openstack-exporter schedulable-instance-size="1,2048,20"

If the cloud doesn't support cinder / nova volumes, set this to "False":

juju config prometheus-openstack-exporter use_nova_volumes="False"

Juju resources support

The charm support juju resources, which is handy in offline deployments. Prefetch the snap:

snap download prometheus-openstack-exporter

Provide downloaded snap (prometheus-openstack-exporter_25.snap) as a resource to the application:

juju deploy cs:prometheus-openstack-exporter \
--resource prometheus-openstack-exporter=prometheus-openstack-exporter_25.snap


This charm needs some configuration to be manually copied from nova-cloud-controller settings (as nova api doesn't expose it)

juju config prometheus-openstack-exporter cpu-allocation-ratio=4.0 ram-allocation-ratio=1.0 disk-allocation-ratio=1.0