Prometheus juju exporter - how to verify

Deployment Verification

First, make sure that everything is fine by checking the status of the juju unit.

$ juju status
Model    Controller  Cloud/Region         Version  SLA          Timestamp
billing  local-lxd   localhost/localhost  2.9.33   unsupported  16:44:57+01:00

App                       Version  Status  Scale  Charm                     Channel  Rev  Exposed  Message
prometheus-juju-exporter           active      1  prometheus-juju-exporter             0  no       Unit is ready
ubuntu                    20.04    active      1  ubuntu                    stable    21  no

Unit                           Workload  Agent  Machine  Public address  Ports               Message
ubuntu/0*                      active    idle   0        10.75.224.13
  prometheus-juju-exporter/0*  active    idle            10.75.224.13    5000/tcp            Unit is ready

To make sure the metrics are actually exposed, curl the charm’s unit:

$ curl http://10.75.224.13:5000/metrics
# HELP juju_machine_state Running status of juju machines
# TYPE juju_machine_state gauge
juju_machine_state{cloud_name="Test Cloud",customer="Test Org",hostname="juju-be56b1-0",job="prometheus-juju-exporter",juju_model="billing",type="metal"} 1.0
juju_machine_state{cloud_name="Test Cloud",customer="Test Org",hostname="juju-be56b1-1",job="prometheus-juju-exporter",juju_model="billing",type="metal"} 1.0
juju_machine_state{cloud_name="Test Cloud",customer="Test Org",hostname="juju-be56b1-2",job="prometheus-juju-exporter",juju_model="billing",type="metal"} 1.0
juju_machine_state{cloud_name="Test Cloud",customer="Test Org",hostname="juju-d53a52-0",job="prometheus-juju-exporter",juju_model="controller",type="metal"} 1.0

This verifies that the juju_machine_state metrics are exported by the charm. The metrics can now be seen in Prometheus and Grafana as well if COS is integrated.