OpenStack - OpenStack API Extractor Service

Use the OpenStack API ETL to collect data from multiple OpenStack domains. This ETL supports VMware and KVM virtualizations. TrueSight Capacity Optimization supports the following OpenStack versions:

  • Mitaka
  • Newton
  • Ocata
  • Pike
  • Queen
  • Rocky (available only when you apply Service Pack 1 (11.5.01) of TrueSight Capacity Optimization 11.5)

Note

TrueSight Capacity Optimization supports OpenStack v3 API for the Identity service in OpenStack Newton and later versions.

From OpenStack Queen and later, Identity API v2.0 is not supported by OpenStack.

Collecting data by using the OpenStack API ETL

To collect the data by using the OpenStack API ETL, do the following tasks:

I. Complete the preconfiguration tasks.

II. Configure the ETL.

Step I. Complete the preconfiguration tasks
  • Ensure that the following ports are open for the OpenStack - OpenStack API Extractor Service:
    • Identity Service URL (default: 35357)
    • Compute Service URL (default: 8774)
  • Ensure that the user that is used to access the Identity Service is authenticated and has an admin or ro_admin (read-only admin) role assigned for the specified tenant. This user must have read access to all OpenStack resources and endpoints.

Step II. Configure the ETL

You must configure the ETL to connect to OpenStack for data collection. ETL configuration includes basic and optional advanced properties. While configuring the basic properties is sufficient, you can optionally configure the advanced properties for additional customization.

A. Configuring the basic properties

Some of the basic properties display default values. You can modify these values if required.

To configure the basic properties:

  1. In the TrueSight Capacity Optimization console, navigate to Administration ETL & System Tasks, and select ETL tasks.
  2. On the ETL tasks page, click Add > Add ETL. The Add ETL page displays the configuration properties. You must configure properties in the following tabs: Run configuration, Entity catalog, and OpenStack configuration.

  3. On the Run configuration tab, select OpenStack - OpenStack API Extractor Service from the ETL module list. The name of the ETL is displayed in the ETL Task name field. You can edit this field to customize the name.
  4. Click the Entity catalog tab, and select one of the following options:
    • Shared Entity Catalog: Select if other ETLs access the same entities that are used by the OpenStack API ETL.
      • From the Sharing with Entity Catalog list, select the entity catalog name that is shared between ETLs.
    • Private Entity Catalog: Select if this is the only ETL that extracts data from the OpenStack resources.
  5. Click the OpenStack configuration tab, and configure the following properties:

    PropertyDescription
    Identity service URL

    Specify the URL for the OpenStack Identity Service. The Identity Service is used to obtain tokens for accessing cloud services. The URL is available on the Keystone server in the OS_AUTH_URL variable of the stack.sh file. If the identity service has an HTTPS URL, then the ETL communicates securely over HTTPS.

    UsernameSpecify the user name to access the Identity Service. Note: The name of the role that is assigned to the user must be admin or ro-admin. If you create an equivalent role with a different name, the ETL fails.
    Password requiredSelect this option if a password is required to access the service.
    PasswordIf a password is required to access the Identity Service, enter the password.
    Tenant nameType the name of the Keystone tenant.
    Cloud name(Optional) Type a name. If you do not enter a name, a default name is created using "Cloud_" as a prefix and the OpenStack identity endpoint (host name, IP address) as the suffix.
    Domain nameSpecify the OpenStack domains from which you want the ETL to collect data. To specify domains, select Custom, and type the required domain names.
    KVMHypervisorEnable the collection of one of the following KVM hypervisor metrics:
    • Utilization metrics by using the agent installed on a KVM host or other data source. This is the default selection.
    • Metrics that are available from the Nova API calls
    VMware HypervisorEnable the collection of one of the following vCenter metrics:
    • Utilization metrics by using the vCenter ETL. This is the default selection.
    • Metrics that are available from the Nova API calls

    The following image shows the basic properties configuration.

  6. (Optional) Override the default values of properties in the following tabs:

     Run configuration
    PropertyDescription
    Module selection

    Select one of the following options:

    • Based on datasource: This is the default selection.
    • Based on Open ETL template: Select only if you want to collect data that is not supported by TrueSight Capacity Optimization.
    Module descriptionA short description of the ETL module.
    Execute in simulation modeBy default, the ETL execution in simulation mode is selected to validate connectivity with the data source, and to ensure that the ETL does not have any configuration issues. In the simulation mode, the ETL does not load data into the database. This option is useful when you want to test a new ETL task. To run the ETL in the production mode, select No.
    BMC recommends that you run the ETL in the simulation mode after ETL configuration and then run it in the production mode.

     Object relationships
    PropertyDescription
    Associate new entities to

    Specify the domain to which you want to add the entities created by the ETL.

    Select one of the following options:

    • Existing domain: This option is selected by default. Select an existing domain from the Domain list. If the selected domain is already used by other hierarchy rules, select one of the following Domain conflict options:
      • Enrich domain tree: Select to create a new independent hierarchy rule for adding a new set of entities, relations, or both that are not defined by other ETLs.
      • ETL Migration: Select if the new ETL uses the same set of entities, relations, or both that are already defined by other ETLs.
    • New domain: Select a parent domain, and specify a name for your new domain.

    By default, a new domain with the same ETL name is created for each ETL. When the ETL is created, a new hierarchy rule with the same name of the ETL task is automatically created in the active state. If you specify a different domain for the ETL, the hierarchy rule is updated automatically.

     ETL task properties

    Property

    Description
    Task groupSelect a task group to classify the ETL.
    Running on schedulerSelect one of the following schedulers for running the ETL:
    • Primary Scheduler: Runs on the Application Server.
    • Generic Scheduler: Runs on a separate computer.
    • Remote: Runs on remote computers.

  7. Click Save.

    The ETL tasks page shows the details of the newly configured OpenStack API ETL. 

(Optional) B. Configuring the advanced properties

You can configure the advanced properties to change the way the ETL works or to collect additional metrics.

To configure the advanced properties:

  1. On the Add ETL page, click Advanced.
  2. Configure the following properties:

     Run configuration
    PropertyDescription
    Run configuration nameSpecify the name that you want to assign to this ETL task configuration. The default configuration name is displayed. You can use this name to differentiate between the run configuration settings of ETL tasks.
    Deploy statusSelect the deploy status for the ETL task. For example, you can initially select Test and change it to Production after verifying that the ETL run results are as expected.
    Log levelSpecify the level of details that you want to include in the ETL log file. Select one of the following options:
    • 1 - Light: Select to add the bare minimum activity logs to the log file.
    • 5 - Medium: Select to add the medium-detailed activity logs to the log file.
    • 10 - Verbose: Select to add detailed activity logs to the log file.

    Use log level 5 as a general practice. You can select log level 10 for debugging and troubleshooting purposes.

    Datasets

    Specify the datasets that you want to add to the ETL run configuration. The ETL collects data of metrics that are associated with these datasets.

    1. Click Edit.
    2. Select one (click) or more (shift+click) datasets from the Available datasets list and click >> to move them to the Selected datasets list.
    3. Click Apply.

    The ETL collects data of metrics associated with the datasets that are available in the Selected datasets list.

    Saver period

    Specify the interval after which data is updated in the TrueSight Capacity Optimization database. The default interval is one hour.

     Collection level
    PropertyDescription
    Metric profile selection

    Select the metric profile that the ETL must use. The ETL collects data for the group of metrics that is defined by the selected metric profile.

    • Use Global metric profile: This is selected by default. All the out-of-the-box ETLs use this profile.
    • Select a custom metric profile: Select the custom profile that you want to use from the Custom metric profile list. This list displays all the custom profiles that you have created.

    For more information about metric profiles, see Adding and managing metric profiles.

    Levels up to

    Specify the metric level that defines the number of metrics that can be imported into the database. The load on the database increases or decreases depending on the selected metric level.To learn more about metric levels, see Aging Class mapping.

     OpenStack configuration

    Property

    Description
    Role nameSpecify the role name that is assigned to the user to access the OpenStack resources.
     Import filter

    Configure the filtering property in this section to include or exclude regions while importing.

    PropertyDescription
    Filtering for regions

    Specify whether you want to import all or specific regions.

    • The default selection is None, which indicates that all regions are imported.
    • To exclude the regions while importing, select Blacklist, and specify the names of the regions to be excluded from importing.

     Additional properties
    PropertyDescription
    List of properties

    Specify additional properties for the ETL that act as user inputs during run. You can specify these values now or you can do so later by accessing the "You can manually edit ETL properties from this page" link that is displayed for the ETL in the view mode.

    1. Click Add.
    2. In the etl.additional.prop.n field, specify an additional property.
    3. Click Apply.
      Repeat this task to add more properties.

     Loader configuration
    PropertyDescription
    Empty dataset behaviorSpecify the action for the loader if it encounters an empty dataset:
    • Warn: Generate a warning about loading an empty dataset.
    • Ignore: Ignore the empty dataset and continue parsing.
    ETL log file nameThe name of the file that contains the ETL run log. The default value is: %BASE/log/%AYEAR%AMONTH%ADAY%AHOUR%MINUTE%TASKID
    Maximum number of rows for CSV outputA numeric value to limit the size of the output files.
    CSV loader output file nameThe name of the file that is generated by the CSV loader. The default value is: %BASE/output/%DSNAME%AYEAR%AMONTH%ADAY%AHOUR%ZPROG%DSID%TASKID
    Capacity Optimization loader output file nameThe name of the file that is generated by the TrueSight Capacity Optimization loader. The default value is: %BASE/output/%DSNAME%AYEAR%AMONTH%ADAY%AHOUR%ZPROG%DSID%TASKID
    Detail mode
    Specify whether you want to collect raw data in addition to the standard data. Select one of the following options:
    • Standard: Data will be stored in the database in different tables at the following time granularities: Detail (configurable, by default: 5 minutes), Hourly, Daily, and Monthly.
    • Raw also: Data will be stored in the database in different tables at the following time granularities: Raw (as available from the original data source), Detail (configurable, by default: 5 minutes), Hourly, Daily, and Monthly.
    • Raw only: Data will be stored in the database in a table only at Raw granularity (as available from the original data source).

    For more information, see Accessing data using public views and Sizing and scalability considerations.

    Remove domain suffix from datasource name (Only for systems) Select True to remove the domain from the data source name. For example, server.domain.com will be saved as server. The default selection is False.
    Leave domain suffix to system name (Only for systems)Select True to keep the domain in the system name. For example: server.domain.com will be saved as is. The default selection is False.
    Update grouping object definition (Only for systems)Select True if you want the ETL to update the grouping object definition for a metric that is loaded by the ETL. The default selection is False.
    Skip entity creation (Only for ETL tasks sharing lookup with other tasks)Select True if you do not want this ETL to create an entity and discard data from its data source for entities not found in Capacity Optimization. It uses one of the other ETLs that share a lookup to create a new entity. The default selection is False.

  3. Click Save.
    The ETL tasks page shows the details of the newly configured OpenStack API ETL.

Step III. Run the ETL

After you configure the ETL, you can run it to collect data. You can run the ETL in the following modes:

A. Simulation mode: Only validates connection to the data source, does not collect data. Use this mode when you want to run the ETL for the first time or after you make any changes to the ETL configuration.

B. Production mode: Collects data from the data source.

A. Running the ETL in the simulation mode

To run the ETL in the simulation mode:

  1. In the TrueSight Capacity Optimization console, navigate to Administration ETL & System Tasks, and select ETL tasks.
  2. On the ETL tasks page, click the ETL. The ETL details are displayed.


  3. In the Run configurations table, click Edit  to modify the ETL configuration settings.
  4. On the Run configuration tab, ensure that the Execute in simulation mode option is set to Yes, and click Save.
  5. Click Run active configuration. A confirmation message about the ETL run job submission is displayed.
  6. On the ETL tasks page, check the ETL run status in the Last exit column.
    OK Indicates that the ETL ran without any error. You are ready to run the ETL in the production mode.
  7.  If the ETL run status is Warning, Error, or Failed:
    1. On the ETL tasks page, click  in the last column of the ETL name row.
    2. Check the log and reconfigure the ETL if required.
    3. Run the ETL again.
    4. Repeat these steps until the ETL run status changes to OK.

B. Running the ETL in the production mode

You can run the ETL manually when required or schedule it to run at a specified time.

Running the ETL manually

  1. On the ETL tasks page, click the ETL. The ETL details are displayed.
  2. In the Run configurations table, click Edit  to modify the ETL configuration settings. The Edit run configuration page is displayed.
  3. On the Run configuration tab, select No for the Execute in simulation mode option, and click Save.
  4. To run the ETL immediately, click Run active configuration. A confirmation message about the ETL run job submission is displayed.
    When the ETL is run, it collects data from the source and transfers it to the TrueSight Capacity Optimization database.

Scheduling the ETL run

By default, the ETL is scheduled to run daily. You can customize this schedule by changing the frequency and period of running the ETL.

To configure the ETL run schedule:

  1. On the ETL tasks page, click the ETL, and click Edit. The ETL details are displayed.
  2. On the Edit task page, do the following, and click Save:

    • Specify a unique name and description for the ETL task.
    • In the Maximum execution time before warning field, specify the duration for which the ETL must run before generating warnings or alerts, if any.
    • Select a predefined or custom frequency for starting the ETL run. The default selection is Predefined.
    • Select the task group and the scheduler to which you want to assign the ETL task.
  3. Click Schedule. A message confirming the scheduling job submission is displayed.
    When the ETL runs as scheduled, it collects data from the source and transfers it to the TrueSight Capacity Optimization database.

Step IV. Verify data collection

Verify that the ETL ran successfully and the OpenStack data is refreshed in the WorkSpace.

To verify whether the ETL ran successfully:

  1. In the TrueSight Capacity Optimization console, click Administration > ETL and System Tasks > ETL tasks.
  2. In the Last exec time column corresponding to the ETL name, verify that the current date and time are displayed.

To verify that the OpenStack data is refreshed:

  1. In the TrueSight Capacity Optimization console, click Workspace.
  2. Expand (Domain name) > Systems > Cloud OpenStackInstances.
  3. In the left pane, verify that the hierarchy displays your new and updated OpenStack instances.
  4. Click an OpenStack instance, and click the Metrics tab in the right pane.
  5. Check if the Last Activity column in the Configuration data and Performance metrics tables displays the current date.

The following image shows sample metrics data. To learn more about these metrics and other related concepts, see Entities, lookup information, and metrics for OpenStack API ETL.


Where to go from here

After data is collected, you can analyze and manage the capacity of OpenStack entities from the OpenStack viewsAfter data is collected, you can analyze the cost of your OpenStack resources based on different dimensions. For more information, see Analyzing and forecasting multi-cloud costs.

Related topics

Collecting data

Overview of ETLs

OpenStack API documentation

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

Comments