prometheus ceph exporter #14

Supports: focal bionic xenial trusty


This is an exporter that exposes information gathered from Ceph for use by the Prometheus monitoring system.

Juju prometheus Ceph exporter charm

This charm provides the Prometheus Ceph exporter, part of the Prometheus monitoring system

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 the charm:

juju deploy cs: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: /var/snap/prometheus-ceph-exporter/current/daemon_arguments

Juju resources

The charm supports juju resources, which can be handy in offline deployments. Prefetch the snaps:

snap download core
snap download prometheus-ceph-exporter

Provide the snaps as resources to the application:

juju deploy cs:prometheus-ceph-exporter \
--resource prometheus-ceph-exporter=prometheus-ceph-exporter_20.snap \
--resource core=core_7917.snap


This charm implements testing which can be run to deploy and verify the charm. With an available environment run the tests with the command:

make test

Unit testing has been stubbed out but does not include comprehensive tests at this time. When available unit tests can be run with:

make unit

Unit tests do not deploy the charm and do not require building prior to running the test suite.

Contact Information


(string) The IP address and netmask of the 'access' network (e.g. . This network will be used for access to the ceph-exporter metrics.
(int) A number of seconds before NRPE checks timeout from not being able to connect to the exporter. Raise this value to combat 'CHECK_NRPE Socket timeout alerts'. This value has to be aligned with Prometheus scrape-interval charm config.
(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) If install_method is set to "snap" this option controlls channel name. Supported values are: "stable", "candidate", "beta" and "edge"
(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: