You can view Charmed MongoDB’s metrics in two ways: by querying the metric endpoint directly or by viewing them in grafana.
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:
- 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”
curlthe metrics endpoint for your unit of interest with
curl http://<unit-ip>:9216/metricsthis should show a long set of metrics.
Charmed MongoDB provides integration with the Canonical Observability Stack - which allows you to view the metrics in a GUI. To view the GUI:
- 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
- Switch back to your model which hosts Charmed MongoDB and deploy the
grafana-agentsidecar charm and relate it to Charmed MongoDB:
juju switch <VM-controller> juju deploy grafana-agent juju integrate grafana-agent mongodb
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.
- Consume offers from the COS bundle and relate COS bundle to the
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 integrate grafana-agent prometheus-receive-remote-write juju integrate grafana-agent loki-logging juju integrate grafana-agent grafana-dashboards
- Wait for
grafana-agentto show active and idle status in
- 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.