You are here
OpenStack Monitoring
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while allowing their users to provision resources through a web interface.
What You Can Monitor
This Opspack provides Host Templates to monitor installed OpenStack services.
Host Templates
The following Host Templates are currently provided by this Opspack. Click the name of each Host Template to be taken to the relevant information page, including a full Service Check description and usage instructions.
OpenStack - Cinder
add_circleService Check Name | Description | Default Thresholds (Warning, Critical) | UOM |
---|---|---|---|
OpenStack - Cinder - Attachments | The current status of attachments for a project | N/A | N/A |
OpenStack - Cinder - Backup Usage | The current usage of backups for a project | backup_usage=70,90 | % |
OpenStack - Cinder - Backups | The current status of backups for a project | N/A | N/A |
OpenStack - Cinder - Group Snapshots | The current status of group snapshots for a project | N/A | N/A |
OpenStack - Cinder - Snapshot Usage | The current usage of snapshots for a project | snapshot_usage=70,90 | % |
OpenStack - Cinder - Snapshots | The current status of snapshots for a project | N/A | N/A |
OpenStack - Cinder - Volume Health | The current status of volumes for a project | N/A | N/A |
OpenStack - Cinder - Volume Usage | The current usage of volumes for a project | volume_usage=70,90 | % |
OpenStack - Keystone
add_circleService Check Name | Description | Default Thresholds (Warning, Critical) | UOM |
---|---|---|---|
OpenStack - Keystone - Endpoints Status | The status of OpenStack services listed by the Keystone API | endpoints_not_ok=,0 | N/A |
OpenStack - Neutron
add_circleService Check Name | Description | Default Thresholds (Warning, Critical) | UOM |
---|---|---|---|
OpenStack - Neutron - Agents | A summary of the agents that are running and their status | agents_not_ok=,0 | N/A |
OpenStack - Neutron - Firewall Groups | A summary of the firewall groups that are running and their status | firewall_groups_not_ok=,0 | N/A |
OpenStack - Neutron - Networks | A summary of the networks that are running and their status | networks_not_ok=,0 | N/A |
OpenStack - Neutron - Routers | A summary of the routers that are running and their status | routers_not_ok=,0 | N/A |
OpenStack - Neutron - VPN Services | A summary of the VPN services and their status | vpnservices_not_ok=,0 | N/A |
OpenStack - Nova Hypervisor
add_circleService Check Name | Description | Default Thresholds (Warning, Critical) | UOM |
---|---|---|---|
OpenStack - Nova Hypervisor - Active State | Summary of hypervisor state | hypervisors_not_ok=,0 | N/A |
OpenStack - Nova Hypervisor - Available Disk Space | Total disk space available across the selected hypervisors | N/A | B |
OpenStack - Nova Hypervisor - Available Memory | Total RAM available across the selected hypervisors | N/A | B |
OpenStack - Nova Hypervisor - Services | Summary of services running across the selected hypervisors | services_not_ok=,0 | N/A |
OpenStack - Nova Hypervisor - System Load | Count of all current hypervisor operations | N/A | N/A |
OpenStack - Nova Hypervisor - Virtual CPUs | Total number of virtual CPUs across the selected hypervisors | N/A | N/A |
OpenStack - Nova Hypervisor - Virtual Machines | Total number of virtual machines running on the selected hypervisors | N/A | N/A |
OpenStack - Nova Server
add_circleService Check Name | Description | Default Thresholds (Warning, Critical) | UOM |
---|---|---|---|
OpenStack - Nova Server - CPU Usage | The CPU usage of the server | server_cpu_usage=70,90 | % |
OpenStack - Nova Server - Disk Bytes | The rate of disk read/writes in bytes across all disks | N/A | bytes_per_minute |
OpenStack - Nova Server - Disk Errors | The rate of disk errors across all disks | N/A | per_minute |
OpenStack - Nova Server - Disk Requests | The rate of disk read/writes requests across all disks | N/A | per_minute |
OpenStack - Nova Server - Memory Usage | The current usage of the servers allocated memory | server_memory_usage=70,90 | % |
OpenStack - Nova Server - Network In | The rate of incoming packets received, dropped and lost | N/A | per_minute |
OpenStack - Nova Server - Network Out | The rate of outgoing packets sent, dropped and lost | N/A | per_minute |
OpenStack - Nova Server - Status | The current state of the server. Possible values are 'pending', 'paused', 'running', 'shutdown', 'crashed', 'suspended' | N/A | N/A |
OpenStack - Swift
add_circleService Check Name | Description | Default Thresholds (Warning, Critical) | UOM |
---|---|---|---|
OpenStack - Swift - Bytes Used | Number of bytes used for a given account | N/A | B |
OpenStack - Swift - Container Count | Number of containers for a given account | N/A | N/A |
OpenStack - Swift - Object Count | Number of objects for a given account | N/A | N/A |
Prerequisites
OpenStack versions Queens, Rocky, Train or Ussuri. Alternative versions may be compatible.
Setup OpenStack Monitoring
Creating the Opsview Read User
For Opsview to have sufficient access to retrieve metrics, it is recommended to create a user with the 'reader' role with system scope 'all'. Otherwise permissions will need to be granted via the services policy configurations.
You can achieve this using the following OpenStack-CLI commands:
openstack user create --domain default --password secret --description "Opsview User" opsview openstack role add --user opsview --system all reader
Depending on the version of the CLI, the command to assign the role may fail with:
openstack role add: error: unrecognized arguments: --system reader
In this case, the role can be alternatively assigned using the REST API.
For more information, refer to [Assign a system role to a user]
The 'reader' role was introduced in the Rocky release, so if using a version prior to that and you want to use roles you will need to create the role and grant the permissions via the services policy configuration.
To allow Opsview to check the services registered in the Keystone Service Catalogue, the API default policy method must be overridden or Opsview will need the full administrative credentials of your OpenStack system.
If you configure your system using 'OpenStack-Ansible' then you can add the following lines to your user_variables.yml to allow the Opsview user to list endpoints:
keystone_policy_overrides: identity:list_endpoints: "role:reader and system_scope:all"
Get Domain and Service variables
To retrieve the information for the OpenStack variables. Simply log into your OpenStack system, and select 'API Access'. You can then select which domain/project and view the the API details for each installed service.
You can then copy the information you need to the corresponding host variables in Opsview. For example, to monitor the Keystone service in Opsview: