Yoshikadokawa Prometheus Openstack Exporter

  • By Yoshi Kadokawa
  • Cloud
Channel Version Revision Published Runs on
latest/stable 1 1 26 Aug 2021
Ubuntu 20.04 Ubuntu 18.04 Ubuntu 16.10 Ubuntu 16.04 Ubuntu 14.04
juju deploy yoshikadokawa-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.

Platform:

Ubuntu
16.04 18.04 14.04 16.10 20.04

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