Moviri Integrator for BMC Helix Capacity Optimization - k8s Heapster
The integration supports the extraction of both performance and configuration data across the different components of the Kubernetes system and can configurable via parameters that allow entity filtering and many other settings. Furthermore, the connector can replicate relationships and logical dependencies among entities such as clusters, nodes, namespaces, deployments, and pods.
This documentation is targeted at BMC Helix Continuous Optimization administrators, in charge of configuring and monitoring the integration between BMC Helix Continuous Optimization and Kubernetes.
Step I. Complete the Pre-Configuration Tasks
Step IV. Verify Data Collection
Steps | Details |
---|---|
Check if the required API version is supported | |
Check the supported versions of data source configuration | |
Generate access to the Kubernetes API | |
Heapster Configuration |
- In the console, 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, Connection, and Kubernetes Extraction filters.
- On the Run Configuration tab, select Moviri - k8s Heapster Extractor from the ETL Module list. The name of the ETL is displayed in the ETL task name field. You edit this field to customize the name.
- Click the Entity catalog tab, and select one of the following options:
- Shared Entity Catalog:
- 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 k8s Prometheus resources.
- Shared Entity Catalog:
Click the Connection tab, and configure the following properties:
Property Name
Value Type
Required?
Default
Description
Connection
Kubernetes Host
String
Yes
Kubernetes API server hostname
For Openshift, use the Openshift console FQDN (e.g., console.ose.bmc.com).
For Rancher, use the URL of the Kubernetes API server, removing the protocol and port, (e.g., if your Kubernetes API server is accessible at the URL "http://rancher.bmc.com:8080/r/projects/1a16/kubernetes:6443", use "rancher.bmc.com:8080/r/projects/1a16/kubernetes" as the value for this configuration parameter)
Kubernetes API Port
Number
Yes
Kubernetes API server port
For Openshift, use the same port as the console (typically 8443).
For Rancher, use the port of the Kubernetes API server (typically 6443)
Kubernetes API Version
Number
Yes
v1
Kubernetes API version
Kubernetes Authentication Token
String
Yes
Token of the integrator service account (see data source configuration section)
Kubernetes API Protocol
String
Yes
https
Kubernetes API protocol, "HTTPS" in most cases
CO Listening Port
Number
Yes
The TCP port the Kubernetes connector receives data from Heapster.
Acceptable values are 1024 to 65535.
Please ensure that this port is not already in use by any other process before running the ETL.
Kubernetes Extraction Filters
Data Resolution
Drop Down
Yes
5 Minutes
The resolution the metrics will aggregate to.
Extract Pods
Yes/No
Yes
Yes
Allow importing of Pods into BMC Helix Continuous Optimization
Select only PODs on the following nodes
String
No
Extracts information only for the pods that are currently running on the specified nodes.
Multiple nodes name are semicolon separated.
Each deployment name can contain '%' and '_', like SQL LIKE expression.
Select only PODs on the following namespaces
String
No
Extracts information only for the pods that are currently running in the specified namespaces
Multiple namespaces name are semicolon separated.
Each deployment name can contain '%' and '_', like SQL LIKE expression.
Select only PODs on the following deployments
String
No
Extracts information only for the pods that are currently running in the specified deployments.
Multiple deployments name are semicolon separated.
Each deployment name can contain '%' and '_', like SQL LIKE expression.
Exclude PODs on the following nodes
String
No
Does not extract information for the pods that are currently running on the specified nodes.
Multiple deployments name are semicolon separated.
Each deployment name can contain '%' and '_', like SQL LIKE expression.
Exclude PODs on the following namespaces
String
No
Does not extract information for the pods that are currently running in the specified deployments.
Multiple deployments name are semicolon separated.
Each deployment name can contain '%' and '_', like SQL LIKE expression
Exclude PODs on the following deployments
String
No
Does not extract information for the pods that are currently running in the specified deployments.
Multiple deployments name are semicolon separated.
Each deployment name can contain '%' and '_', like SQL LIKE expression
Select Tags to Load
String
No
node_role_kubernetes_io
Extracts label information for all supported entity types.
Multiple tags are semicolon separated.
Can be 1:1 match with labels found in Kubernetes or replace dashes and periods with underscore
All the other generic properties are documented here.
The ETL tasks page shows the details of the newly configured k8s Heapster 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.
Running the ETL in simulation mode
To run the ETL in the simulation mode:
- In the console, 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.
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
- 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 is run, it collects data from the source and transfers it to the database.
Verify that the ETL ran successfully and check whether the k8s Heapster data is refreshed in the Workspace.
To verify whether the ETL ran successfully:
- In the console, 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 console, click Workspace.
- Expand (Domain name) > Systems > k8s Heapster > Instances.
- In the left pane, verify that the hierarchy displays the new and updated Heapster instances.
- Click a k8s Heapster entity, 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.
k8s Heapster Workspace | Details |
---|---|
Entities | |
Hierarchy | |
Configuration and Performance Metrics Mapping | |
Derived Metrics | |
Lookup Field Considerations | |
Tag Mapping (Optional) |
Comments
Log in or register to comment.