Prometheus Openstack Exporter

juju deploy prometheus-openstack-exporter

20.04 LTS 18.04 LTS 16.10 16.04 LTS 14.04 LTS

Discuss this charm

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

Join the discussion

Overview

This charm provides openstack-exporter services for prometheus

Build

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 https://git.launchpad.net/prometheus-openstack-exporter-charm
popd

Build the charm, and symlink for juju-1 compatibility

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

Usage

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 snaps:

snap download core
snap download prometheus-openstack-exporter

Provide downloaded snaps (prometheus-openstack-exporter_25.snap and core_7917.snap) as resources to the application:

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

Limitations

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