You are here

OpenStack Monitoring

Requires Opsview Cloud
check_circle
Opsview Supported

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

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.

Prerequisites

OpenStack versions Queens, Rocky, Train or Ussuri. Alternative versions may be compatible.

Setup OpenStack for 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.

OpenStack API

You can then copy the information you need to the corresponding host variables in Opsview. For example, to monitor the Keystone service in Opsview:

OpenStack Keystone Example