This plugin deploys the Canonical Observability Stack (COS).
Note: This feature is currently only supported in channel
2023.1/edge of the openstack snap.
The plugin has built-in integration with some default exporters, alert rules, and dashboards, so you can use it to monitor the status of your single node or multi-node deployment of sunbeam without any extra setup.
The following components and services are monitored:
- Libvirtd service
- OpenvSwitch service
- OpenStack compute service (MicroStack compute node)
Not supported yet
- Openstack Exporter (requires telemetry)
Note: Cloud monitoring is currently only supported in channel
2023.2/edge of the openstack snap.
To enable Observability, run the following command:
sunbeam enable observability
To disable Observability, run the following command:
sunbeam disable observability
This will terminate the applications in the model but not remove them from the model. To do that, run the following:
juju destroy-model --destroy-storage --force --no-wait --no-prompt observability
Once the COS model is deployed, you can use the Grafana dashboard to view the metrics and alerts configured. To get the URL of the dashboard use the
sunbeam observability dashboard-url
This URL points to the Grafana login page. The credentials to use can be retrieved using this command:
juju run --model observability grafana/leader get-admin-password
Running operation 1 with 1 task - task 2 on unit-grafana-0 Waiting for task 2... admin-password: ****** url: http://10.20.21.13/observability-grafana
Only the initial admin password is displayed in the above action. If the admin password is changed using the Grafana UI, a message
Admin password has been changed by an administrator will be displayed.
The login page asks for the following information:
Email or username: admin
The login page looks like this:
After a successful login, you should see the landing page:
You can now look at the different dashboards configured.
Capacity Dashboard displays the overall capacity (storage, memory, and cpu) of the microstack cluster, as well as the capacity of individual microstack node.
“Days until storage / memory / CPU reaches 90%” shows the estimated days until these resources reach 90% of their total capacity. This is a linear projection based on the average usage over the past 360 days. If the average usage is zero or negative, the panel will show “Stable” because it’s not possible to estimate when they will be depleted. For the overall capacity, this estimation is chosen to be the minimum value across all microstack nodes. For example, if the projected days it will take for storage consumption to reach 90% is about 80 days for node 1, 90 for node 2, and “Stable” (i.e. not expected to run out given the current trend) for node 3, then the panel will show “80” since node 1 will be the first one to exhaust its storage.
The node-specific panels estimate resource consumption only within the given node.
You can filter the nodes using the multi-select dropdown menu: Hostname.
The 90% threshold and the 360 days of estimation can also be changed using the dropdown menu: Resource Usage Threshold and Days of Estimation.
“Disk usage (total size: …GB)” shows the usage of filesystems mounted on the nodes. For the overall capacity, “Disk usage” shows the total usage of all mounted filesystems for each node. The individual disk usage capacity panel shows disk usage of each mounted filesystem on a particular node.
“Memory usage (total memory: …GB)” shows the total memory usage, memory assigned to hugepages, and used hugepages memory. For the overall capacity, “Memory usage” is summed over all microstack nodes. The individual memory capacity panel shows the memory usage of a particular node.
“CPU usage (total number of cores: …)” shows the CPU usage on the nodes. For overall capacity, “CPU usage” shows the CPU usage of each node as separate series. The individual CPU capacity panel shows the CPU usage of a particular node.