This is an exporter that exposes information gathered from Ceph
for use by the Prometheus monitoring system.
Juju prometheus Ceph exporter charm
Based on https://github.com/digitalocean/ceph_exporter
Introduction and Preparation
The charm implements ceph-exporter functionality for Prometheus, it consumes the prometheus-ceph-exporter snap package,
Charm needs to be deployed where Ceph is running, a special read-only account ("exporter") will be created by the charm.
Since the snap is confined to his own filesystem, ceph config file and "exporter" keyring will be created in ($SNAP_DATA) :
How to Deploy:
From the MAAS host:
export JUJU_REPOSITORY=$PWD/charms export INTERFACE_PATH=$PWD/interfaces
Build the charm
charm build -s xenial
Deploy the charm
juju deploy local:xenial/prometheus-ceph-exporter juju add-relation prometheus-ceph-exporter ceph-mon:client
To change the port, refer to the daemon_arguments provided by the snap package at:
This charm implements amulet testing which can be run to deploy and verify the
charm. With an available environment run the tests with the command:
tox -e amulet
Amulet tests must be run from within a fully built charm folder. If you have
downloaded this charm from source instead of the charmstore it is a layered
charm and must be built and tests run from the build directory. Be aware timers
are used to allow for deployment, if your environment has a particularly slow
time to deploy nodes or blocks packages from installing this can cause failure
for the amulet test.
Amulet tests also require a working juju environment and juju-deployer to run.
Juju can be installed via snap and amulet via pip with with:
sudo snap install juju --classic sudo pip install bundletester
Unit testing has been stubbed out but does not include comprehensive tests at
this time. When available unit tests can be run with:
tox -e unit
Unit tests do not deploy the charm and do not require building prior to running
the test suite.
- (string) The IP address and netmask of the 'access' network (e.g. 192.168.0.0/24) . This network will be used for access to the ceph-exporter metrics.
- (string) Daemon arguments to pass to the exporter.
- (string) A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
- (string) Comma separated list of nagios servicegroups for the graphite check
- (string) HTTP/HTTPS web proxy for Snappy to use when accessing the snap store.
- (string) The address of a Snap Store Proxy to use for snaps e.g. http://snap-proxy.example.com
- (string) How often snapd handles updates for installed snaps. The default (an empty string) is 4x per day. Set to "max" to check once per month based on the charm deployment date. You may also set a custom string as described in the 'refresh.timer' section here: https://forum.snapcraft.io/t/system-options/87