Charmed MongoDB

Channel Revision Published Runs on
5/stable 117 20 Apr 2023
Ubuntu 22.04
5/candidate 117 20 Apr 2023
Ubuntu 22.04
5/edge 118 03 May 2023
Ubuntu 22.04
3.6/stable 100 28 Apr 2023
Ubuntu 20.04 Ubuntu 18.04
3.6/candidate 100 13 Apr 2023
Ubuntu 20.04 Ubuntu 18.04
3.6/edge 100 03 Feb 2023
Ubuntu 20.04 Ubuntu 18.04
juju deploy mongodb --channel 5/stable
Show information



Viewing Metrics

You can view Charmed MongoDB’s metrics in two ways: by querying the metric endpoint directly or by viewing them in grafana.

Querying the metric endpoint

Charmed MongoDB comes with MongoDB Exporter and provides replication and cluster metrics. The metrics can be queried by accessing the http://<unit-ip>:9216/metrics endpoint. To quickly view them you can do the following:

  1. First identify the unit which you would like to query by entering juju status. Choose a unit to gather metrics from and copy its “Public Address”
  2. Then curl the metrics endpoint for your unit of interest with curl http://<unit-ip>:9216/metrics this should show a long set of metrics.

Accessing metrics with grafana

Charmed MongoDB provides integration with the Canonical Observability Stack - which allows you to view the metrics in a GUI. To view the GUI:

  1. Deploy cos-lite bundle in a Kubernetes environment. This can be done by following the deployment tutorial. Wait for the cos-lite bundle to become active and idle, by viewing juju status
  2. Switch back to your model which hosts Charmed MongoDB and deploy the grafana-agent sidecar charm and relate it to Charmed MongoDB:
juju switch <VM-controller>
juju deploy  grafana-agent
juju relate grafana-agent mongodb

Watch juju status and wait for the model to become idle, grafana-agent should eventually go into the error state since it requires relations from the COS bundle.

  1. Consume offers from the COS bundle and relate COS bundle to the grafana-agent:
juju consume <k8s-controller-name>:admin/cos.prometheus-scrape
juju consume <k8s-controller-name>:admin/cos.alertmanager-karma-dashboard
juju consume <k8s-controller-name>:admin/cos.grafana-dashboards
juju consume <k8s-controller-name>:admin/cos.loki-logging
juju consume <k8s-controller-name>:admin/cos.prometheus-receive-remote-write

juju relate grafana-agent prometheus-receive-remote-write
juju relate grafana-agent loki-logging
juju relate grafana-agent grafana-dashboards
  1. Wait for grafana-agent to show active and idle status in juju status
  2. To view the dashboard we need to find the URL of grafana along with the password for the dashboard. Switch to the k8s model hosting the COS-lite bundle and show all applications
juju switch <K8s-controller>
juju status

under the report of juju status, the IP address of the grafana GUI should be listed as the “Public Address” for the application grafana. Copy this address and navigate to it in your browser. In your browser you should see a login. Use the username admin, to retrieve the password go back to your terminal and run the action: juju run-action grafana/0 get-admin-password --wait - use this password to access the grafana Dashboard.

Help us improve this documentation

Most of this documentation can be collaboratively discussed and changed on the respective topic in the doc category of the Charmhub forum. See the documentation guidelines if you’d like to contribute.

Last updated a month ago. Help improve this document in the forum.