Prometheus juju exporter - how to configure

Charm Configuration

The charm requires certain configuration options to be set for it to function properly. Until all required options are configured, the units will remain in Blocked state. User can examine unit logs to see which required options are missing from configuration.

In particular, this charm needs juju credentials and endpoint of a Juju controller. This might seem unnecessary as the charm is already being deployed in the juju environment but the fact is that the charm unit itself has very little information about the cloud/model/controller that it’s deployed in. On its own, it’s not capable of performing any introspection. That’s why we need the credentials, to connect to the controller as a regular juju client. You can create separate Juju account for this purpose or in the development environments, you can reuse your own user/password (usually found in ~/.local/share/juju/accounts.yaml).

Note: Normally, superuser privilege is expected for such a user for full access to the controller. However, in case it is not possible, the minimum privilege requirements are:

  1. login access to the controller instance and admin access to the model hosting the controller
  2. admin access to any model that’s expected to be monitored by this exporter

Required options:

  • customer
  • cloud-name
  • controller-url
  • juju-user
  • juju-password

An example command to configure the charm might look like:

juju config prometheus-juju-exporter \
  customer="Test Org" \
  cloud-name="Test Cloud" \
  controller-url="10.75.224.63:17070" \
  juju-user=admin \
  juju-password="86333204f5b22495550ab2c64a05607a"

(Use juju config prometheus-juju-exporter to get more information about each option.)