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.

View Output

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:

View Output

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.

View Output

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.

["Opsview On-Premises"] ["Opsview > Opspacks"] ["User Guide", "Technical Reference"]

Was this topic helpful?