IBM Cloud - IBM Cloud API Extractor for Classic Infrastructure
The ETL supports data collection for the following IBM Cloud subscription types:
- Lite
- Pay-As-You-Go
- Subscription
- Platform Subscription
- Support Subscription
- Service Bundle Subscription
- Expiring Subscription
If you apply tags to organize your IBM Cloud resources by related business services, you can configure the ETL to use these tags to display the IBM Cloud metrics by business services.
Collecting data by using the IBM Cloud API ETL
To collect data by using the IBM Cloud API ETL, do the following tasks:
I. Complete the preconfiguration tasks.
II. Configure the ETL.
III. Run the ETL.
Step I. Complete the preconfiguration tasks
Before you configure and run the ETL, complete the pre-configuration tasks. The ETL uses the API key to collect data from your IBM Cloud account. You can create an API key by using the IBM Cloud console or the command-line interface.
(For non-admin users) Create an access group and provide the required access
To create an access group and provide View permissions to the user:
- Log in to the IBM Cloud console with your account credentials.
- In the IBM Cloud console header, click Manage and select Access (IAM).
- Click the Create access group button.
- In the Create access group dialog box, enter the Name and Description to create a new access group.
After the access group is created, the Access tab of the group is displayed. - In the Access tab, click the Assign Access button.
- From the list of Services, select the IBM Cloud Monitoring service.
- From Resources, select All resources.
- From Roles and actions, from the Service access, select Reader and from Platform access, select Viewer.
- Click Add, and Assign to save the access.
- From the left pane, select Users.
- Click the three-dots menu corresponding to the ETL user and select Assign access > Access groups.
- Select the newly created access group, click Add, and then Assign to save the settings.
Provide classic infrastructure access to the ETL user:
- Log in to the IBM Cloud console with your account credentials.
- In the IBM Cloud console header, click Manage and select Access (IAM) > Users.
- Select the ETL user.
- From the Manager user screen, select the Classic Infrastructure tab.
- From the Permissions tab > Permission sets drop-down list, select View only permission.
- From Category, expand Services, and select the Storage Manage service.
- Click Apply to save the changes.
- From the Devices tab, select the virtual machine that you want to view in BMC Helix Continuous Optimization.
- Select Auto virtual server access to provide the user access to the virtual machines automatically during their creation.
Create an API key using the IBM cloud console
To create an API key for your user identity from the IBM cloud console:
- Log in to the IBM Cloud console with your account credentials.
Log in by using the account used for data collection. - In the IBM Cloud console header, click Manage and select Access (IAM).
- From the left pane, select API keys.
- Click Create.
- In the Name field, specify a name for the API key.
- Enter the description.
- Click Create.
- You can view, save, or download the API key. To view the API key, click Show. To copy the API key, click Copy. To use it for later, click Download.
For security reasons, the API key is available for copy or download only at the time of API key creation. If the API key is lost, you must create a new API key.
Create an API key using the command-line interface
To create an API key for your user identity by using the CLI:
From a command prompt, run the following command:
ibmcloud iam api-key-create NAME [-d DESCRIPTION] [-f, --file FILE]
Specify a name, description, and file for saving your API key.
Example: ibmcloud iam api-key-create testKey -d "Test API key" --file test_key_file
In a firewall or a proxy-enabled environment, the following IBM Cloud services endpoints must be allowed:
- https://iam.cloud.ibm.com
- https://us-south.monitoring.cloud.ibm.com
- https://us-east.monitoring.cloud.ibm.com
- https://eu-gb.monitoring.cloud.ibm.com
- https://jp-tok.monitoring.cloud.ibm.com
- https://eu-de.monitoring.cloud.ibm.com
- https://resource-controller.cloud.ibm.com
Step II. Configure the ETL
You must configure the ETL to connect to the IBM Cloud for data collection. ETL configuration includes specifying the 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:
- Navigate to Administration > ETL & System Tasks, and select ETL tasks.
- 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 IBM Cloud Connection Parameters.
- On the Run configuration tab, select IBM Cloud - IBM Cloud API Extractor 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.
- 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 IBM Cloud 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 IBM Cloud resources.
- Shared Entity Catalog: Select if other ETLs access the same entities that are used by the IBM Cloud API ETL.
Click the IBM Cloud Connection Parameters tab, and configure the following properties:
The [confluence_table-plus] macro is a standalone macro and it cannot be used inline. Click on this message for details.
(Optional) Override the default values of properties in the following tabs:
The [confluence_table-plus] macro is a standalone macro and it cannot be used inline. Click on this message for details.
*Schedulers compatible with this ETL: Generic scheduler (the scheduler preconfigured in Helix, also referred as Cloud ETL Engine), Remote ETL Engine.- Click Save.
- The ETL tasks page shows the details of the newly configured IBM Cloud 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:
- On the Add ETL page, click Advanced.
Configure the following properties:
- Click Save.
The ETL tasks page shows the details of the newly configured IBM Cloud 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. To run the ETL in the simulation mode
To run the ETL in the simulation mode:
- Navigate to Administration > ETL & System Tasks, and select ETL tasks.
- On the ETL tasks page, click the ETL. The ETL details are displayed.
- In the Run configurations table, click Edit
to modify the ETL configuration settings.
- On the Run configuration tab, ensure that the Execute in simulation mode option is set to Yes, and click Save.
- Click Run active configuration. A confirmation message about the ETL run job submission is displayed.
- 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. - If the ETL run status is Warning, Error, or Failed:
- On the ETL tasks page, click
in the last column of the ETL name row.
- Check the log and reconfigure the ETL if required.
- Run the ETL again.
- Repeat these steps until the ETL run status changes to OK.
- On the ETL tasks page, click
B. To run the ETL in the production mode
You can run the ETL manually when required or schedule it to run at a specified time.
To run the ETL manually
- On the ETL tasks page, click the ETL. The ETL details are displayed.
- In the Run configurations table, click Edit
to modify the ETL configuration settings. The Edit run configuration page is displayed.
- On the Run configuration tab, select No for the Execute in simulation mode option, and click Save.
- To run the ETL immediately, click Run active configuration. A confirmation message about the ETL run job submission is displayed.
When the ETL runs, it collects data from the source and transfers it to the BMC Helix Continuous Optimization database.
To schedule the ETL run in the production mode
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:
- On the ETL tasks page, click the ETL, and click Edit task. The ETL details are displayed.
- 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 to which you want to assign the ETL task.
- 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 BMC Helix Continuous Optimization database.
Step IV. Verify data collection
Verify that the ETL ran successfully and the IBM Cloud data is refreshed in the Workspace.
To verify whether the ETL ran successfully
- Click Administration > ETL and System Tasks > ETL tasks.
- In the Last exec time column corresponding to the ETL name, verify that the current date and time are displayed.
- In the Last exit column corresponding to the ETL name, verify that the status is OK.
In case of WARNING or ERROR, click in the last column of the ETL name row to review the log files.
To verify that the IBM Cloud data is refreshed:
- In the Workspace tab, expand (Domain_name_for IBM Cloud) > Systems > IBM Cloud.
- In the left pane, verify that the hierarchy displays the new and updated virtual servers that you have provisioned in the IBM cloud.
- Click a virtual server instance, and click the Metrics tab in the right pane.
- Check if the Last Activity column in the Configuration metrics 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-IBM-Cloud-API-ETL.
Where to go from here
After data is collected, you can analyze and manage the capacity of IBM cloud entities from the IBM-views.