This documentation supports releases of BMC Helix Continuous Optimization up to December 31, 2021. To view the latest version, select the version from the Product version menu.

Entities, lookup information, and metrics for OpenStack API ETL

This topic provides information about the lookup details and mapping between the OpenStack metrics and the BMC Helix Continuous Optimization metrics.

Lookup information 

The OpenStack API Extractor Service defines multiple lookup fields for coordinating with other connectors. The following table lists the sequence of field sets for strong lookup and weak lookup.

Entity typeStrong lookup fieldsWeak lookup fields
Cloud - OpenStackOPENSTACK_GUID-
Region - OpenStackOPENSTACK_GUID-
Availability Zone - OpenStackAZ_NAME&&PARENT_OS_GUID-
Host Aggregates - OpenStackNAME&&PARENT_OS_GUID-
Virtual Host - KVMHOSTNAMENAME
Virtual Host - VMwareHOSTNAMENAME
Virtual Cluster - VMwareNAME&&VMW_VMREF NAME 
Virtual Machine - KVMUUIDNAME
Virtual Machine - VMwareHOSTNAMENAME
Tenant - OpenStackOPENSTACK_GUID-

Metric mapping

The following table explains the mapping between the OpenStack metrics and the BMC Helix Continuous Optimization metrics.

Nova memory metrics are collected only for the current hour when the  OpenStack - OpenStack API Extractor Service is run for the first time.

Cloud - OpenStack metrics

MetricSource typeSource infoDescription
CLOUD_NAMENANAName of the cloud. If a user-defined name exists, that name is displayed. Otherwise, the default name is displayed which is composed of a prefix "Cloud_" and the OpenStack identity endpoint (host name, ip adders) as suffix.
HOST_NUMAPINANumber of hosts.

Derived metrics (values from host aggregates that belong to the cloud)

Configuration metricsPerformance metrics
  • CPU_NUM
  • TOTAL_REAL_MEM
  • TOTAL_EPHEMERAL_DISK_SIZE
  • GM_NUM
  • GM_ON_NUM
  • VCPU_ON_NUM
  • VCPU_NUM
  • MEM_CONSUMED
  • MEM_UTIL
  • TOTAL_EPHEMERAL_DISK_PROVISIONED

Region - OpenStack metrics

MetricSource typeSource infoDescription
CLOUD_NAME--Name of the cloud. Any name you specify is prefixed with "Cloud_" and the OpenStack identity endpoint (host name, ip adders) is added as suffix.
HOST_NUM API -Number of hosts.

Derived metrics (values from the region that belong to the cloud)

Configuration metricsPerformance metrics
  • CPU_NUM
  • TOTAL_REAL_MEM
  • TOTAL_EPHEMERAL_DISK_SIZE
  • GM_NUM
  • GM_ON_NUM
  • VCPU_NUM
  • VCPU_ON_NUM
  • MEM_CONSUMED
  • MEM_UTIL
  • TOTAL_EPHEMERAL_DISK_PROVISIONED

Availability Zone - OpenStack metrics

MetricSource typeSource infoDescription
CLOUD_NAME - -Name of the cloud. If a user-defined name exists, that name is displayed. Otherwise, the default name is displayed, which is composed of a prefix "Cloud_" and the OpenStack identity endpoint (host name, ip adders) as suffix.
REGION_NAMEAPI -Name of the region read from the OpenStack API.
HOST_NUM API -Number of hosts.

Host Aggregate - OpenStack metrics

MetricSource typeSource infoDescription
CLOUD_NAME--Name of the cloud. If a user-defined name exists, that name is displayed. Otherwise, the default name is displayed, which is composed of a prefix "Cloud_" and the OpenStack identity endpoint (host name, ip adders) as suffix.
REGION_NAMEAPI-Name of the region read from the OpenStack API.
AVAILABILITY_ZONEAPI

/v2.1/<tenant_id>/os-aggregates - aggregates.metadata.availability_zone

Availability Zone read from the OpenStack API.
HOST_NUM API -Number of hosts.

Derived metrics (values from hosts that belong to the host aggregate)

Configuration metricsPerformance metrics
  • CPU_NUM
  • TOTAL_REAL_MEM
  • TOTAL_EPHEMERAL_DISK_SIZE
  • GM_NUM
  • GM_ON_NUM
  • VCPU_NUM
  • VCPU_ON_NUM
  • MEM_CONSUMED
  • MEM_UTIL
  • TOTAL_EPHEMERAL_DISK_PROVISIONED

Virtual Host - KVM, Virtual Host - VMware, Virtual Cluster - VMware metrics

MetricSource typeSource infoDescription
***CPU_NUMAPI

/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.cpu_info.topology.cores

Hypervisor number of CPU cores configured in OpenStack.
***TOTAL_REAL_MEMAPI

/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.memory_mb

Hypervisor total real memory configured in OpenStack.
TOTAL_EPHEMERAL_DISK_SIZEAPI

/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.local_gb

Hypervisor ephemeral disk size configured in OpenStack.
*HOST_STATEAPI/v2/<tenant_id>/os-hypervisors/detail - hypervisors.stateHypervisor host state configured in OpenStack.
*HOST_STATUSAPI/v2/<tenant_id>/os-hypervisors/detail - hypervisors.statusHypervior host statue configured in OpenStack.
**CLUSTER_STATEAPI/v2/<tenant_id>/os-hypervisors/detail - hypervisors.stateHypervisor cluster state configured in OpenStack.
**CLUSTER_STATUSAPI/v2/<tenant_id>/os-hypervisors/detail - hypervisors.statusHypervisor cluster status configured in OpenStack.
***VCPU_ON_NUMAPI/v2/<tenant_id>/os-hypervisors/detail - hypervisors.vcpusHypervisor number of powered on virtual CPUs configured in OpenStack.
***VCPU_NUMAPI/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.vcpus_usedHypervisor number of virtual CPUs configured in OpenStack.
***GM_ON_NUMAPIDerivedHypervisor number of powered on virtual machines configured in OpenStack.
***GM_NUMAPIDerivedHypervisor number of virtual machines configured in OpenStack.
***MEM_CONSUMED (for VMware)API/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.memory_mb_useHypervisor total memory consumed in OpenStack for VMware.

***MEM_USED (for KVM)

API/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.memory_mb_useHypervisor total memory used in OpenStack (for KVM).
***MEM_FREEAPI/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.free_ram_mbHypervisor total memory available in OpenStack.
***MEM_UTILAPIDerivedHypervisor memory utilization configured in OpenStack.
***TOTAL_EPHEMERAL_DISK_PROVISIONEDAPI/v2.1/<tenant_id>/os-hypervisors/detail -> hypervisors.local_gb_usedHypervisor ephemeral disk size provisioned in OpenStack.

* -This metric is available only for Virtual Host - KVM and Virtual Host - VMware entities.

** - This metric is available only for Virtual Cluster - VMware entities.

***- This metric can also be collected by using the Nova API. The default collection method is the Agent. To use Nova API, configure the OpenStack API ETL.

Virtual Machine - KVM, Virtual Machine - VMware metrics

MetricSource typeSource infoDescription
AVAILABILITY_ZONEAPI

/v2.1/<tenant_id>/servers/<server_id>- server.OS-EXT-AZ:availability_zone

Availability Zone read from OpenStack API.
INSTANCE_NAMEAPI

/v2.1/<tenant_id>/servers/<server_id> - server.name

Name given to the server in OpenStack.
REQUESTED_INSTANCE_TYPEAPI

/v2.1/<tenant_id>/flavors/<server.flavor.id> - flavor.name

Flavor name.
***CPU_NUMAPI

/v2.1/<tenant_id>/flavors/<server.flavor.id> - flavor.vcpus

Requested number of CPU specified on OpenStack flavor associated to the server.
***DISK_SIZEAPI

/v2.1/<tenant_id>/flavors/<server.flavor.id> - flavor.disk

Requested disk size specified on OpenStack flavor associated to the server.
***TOTAL_REAL_MEMAPI

/v2.1/<tenant_id>/flavors/<server.flavor.id> - flavor.ram

Requested memory specified on OpenStack flavor associated to the server.
*** - This metric can also be collected by using the Nova API. The default collection method is the Agent. To use Nova API, configure the OpenStack API ETL.

Tenant - OpenStack metrics

MetricSource typeSource infoDescription
APP_CLOUD_NAME--Name of the Keystone cloud. The name is available on the Keystone server in the OS_CLOUD_NAME variable of the stack.sh file.
APP_CPU_NUM_QUOTAAPI

/v2.1/<tenant_id>/os-quota-sets/<curr_tenant_id> - quota_class_set.core

Maximum number of CPUs that can be assigned to the Service, Application or Tenant.
APP_INSTANCE_QUOTA   
APP_MEM_QUOTAAPI

/v2.1/<tenant_id>/os-quota-sets/<curr_tenant_id> - quota_class_set.ram

Maximum amount of Memory that can be assigned to the Service, Application or Tenant.
APP_ENVIRONMENT   

OpenStack API Extractor Service - API calls

The extractor makes the following API calls on the identity and compute services.

OpenStack Identity Service API

Taskv2.0 APIv3 API
Authenticate and generate a tokenPOST /v2.0/tokens (configured username, password, and tenant name are passed in the request body)POST /v3/auth/tokens (configured username, password, and tenant name are passed in the request body)
Get list of tenants/projectsGET /v2.0/tenantsGET /v3/projects

OpenStack Compute Service API

TaskAPI
List of aggregatesGET /v2.1/{tenant_id}/os-aggregates
List of hypervisorsGET /v2.1/{tenant_id}/os-hypervisors/detail
List of servers for a hypervisorGET /v2.1/{tenant_id}/os-hypervisors/{hypervisor_hostname}/servers
Details for a specific serverGET /v2.1/{tenant_id}/servers/{server_id}
List of details for flavorsGET /v2.1/{tenant_id}/flavors/detail
List of serversGET /v2.1/{tenant_id}/servers/detail?all_tenants=1
List of availability zonesGET /v2.1/{tenant_id}/os-availability-zone/detail
Get quota for tenant

GET /v2.1/{tenant_id}/os-quota-sets/{tenant-id-for-which-quotas-to-be-queried}


For more information, see the  OpenStack API documentation Open link .

Was this page helpful? Yes No Submitting... Thank you

Comments