Cloud - OpenStack Opspack
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 Copied
This Opspack provides Host Templates to monitor installed OpenStack services.
Host Templates Copied
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.
Host Template | Description |
---|---|
Cloud - OpenStack - Cinder | Monitor the status of your OpenStack Cinder service and storage volumes |
Cloud - OpenStack - Keystone | Monitor the status of OpenStack services listed by Keystone |
Cloud - OpenStack - Neutron | Monitor the status of your OpenStack Networks |
Cloud - OpenStack - Nova Hypervisor | Monitor the status of your OpenStack Hypervisors |
Cloud - OpenStack - Nova Server | Monitor the status of your OpenStack Servers/Instances |
Cloud - OpenStack - Swift | Monitor the status of your OpenStack Object Store |
Prerequisites Copied
OpenStack versions Queens, Rocky, Train or Ussuri. Alternative versions may be compatible.
Setup OpenStack for Monitoring Copied
Creating the Opsview Read User Copied
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.
Note
For more information, refer to Assign a system role to a user
Note
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 Copied
To retrieve the information for the OpenStack variables. Simply log into your OpenStack system, and select ‘API Access’. You can then select the domain/project and view 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, populate the ‘OPENSTACK_KEYSTONE_ENDPOINT’ with the information from the ‘identity’ service:
Then populate the ‘OPENSTACK_AUTH_DOMAIN’ and ‘OPENSTACK_PROJECT_DOMAIN’ variables with your domain information from ‘Identity’ -> ‘Domains’. Either the domain name or domain ID is required.
Get Hypervisor, Availability Zone and Host Aggregate Variables Copied
To retrieve the information for the Hypervisor variables. Select the Host Aggregates tab in the OpenStack UI.
You can then copy the information you need to the corresponding host variables in Opsview. Please note, fully-qualified host names will not be accepted as a Hypervisor name. Please supply the correct Host name given by the UI as shown above.