Troubleshooting AWS API ETL

This topic provides information about troubleshooting issues with the Amazon Web Services API ETL. 

Collecting detailed activity logs (Log level = 10)

To include detailed activity logs in the ETL log file, perform the following steps:

  1. In the TrueSight Capacity Optimization console, navigate to Administration > ETL & system tasks > ETL tasks.
  2. Selected the configured AWS API Extractor ETL.
  3. In the Run configurations table, click  to modify the ETL task. 
  4. From the Edit run configuration page, click Advanced.
  5. Note down the current value of the Log level.
  6. Change the value to 10 - Verbose
  7. Save the changes and run the ETL.
  8. After you run the ETL and the logs are collected, set the log level back to the earlier value to avoid filesystem space issues.

Common issues

IssueCauseResolution

The CPU_NUM and TOTAL_REAL_MEM metrics are not reporting any values or are reporting old values.

The ETL log displays the following message:

INFO Unknown instance type z1d.6xlarge. Please update 'aws-instance-type-conf.json' file

The ETL has been configured to reference an old version of the aws-instance-type-conf.json file. This file needs to be updated.
  • Update the aws-instance-type-conf.json file by deploying the latest Cumulative Hot Fix (CHF) package available for the ETL Engine.
  • To obtain the latest CHF, see the knowledge article number 000097159 (Support logon ID required).
One or more performance metrics are not available for a Virtual Machine instance.Verify the metric(s) are available in the Monitoring tab for the Virtual Machine instance in the AWS Console.
  • Review the AWS configuration using the same user account configured in the ETL.
  • For details, see the knowledge article number 00352749 (Support logon ID required).
Only a subset of metrics are collected for Virtual Machine instances.The AWS ETL collects a basic set of metrics from the Amazon Elastic Compute Cloud (EC2) instances such as CPU Utilization, Network Byte Rate, and Disk Transfer Rate.

Configure the CloudWatch agent on the Virtual Machine instance tp collect the additional metrics. For details, see Collecting EC2 instance metrics using the CloudWatch agent.

The ETL fails to collect data from AWS GovCloud.

The ETL log displays the following messages:

WARNING Error getting list of availability zones for region  us-gov-west-1

INFO Region us-gov-west-1 does not have any availability zones.

FAILED BCO_ETL_ERR011: Detected an abnormal ETL termination. Reason: com.bmc.bco.aws.exception.AWSConnectionException: Connection phase wasn't completed at com.bmc.bco.aws.extractor.DMAWSExtractorE.connect(DMAWSExtractorE.java:203) at com.neptuny.cpit.etl.Engine.start(Engine.java:129) at com.neptuny.cpit.etl.ETLrun.main(ETLrun.java:171)
Caused by: com.amazonaws.SdkClientException: Unable to execute HTTP request:

The property (Is target AWS Government Cloud?) in the AWS ETL to support AWS GovCloud is not enabled.

In the Amazon Web Services Connection section in the ETL, set the Is target AWS Government Cloud? property to Yes. For details, see Amazon Web Services - AWS API Extractor.

The ETL run ends with a Warning status.

The ETL log displays the following message:

Unable to fetch all the instances due to AWS RequestLimitExceeded error in 5 attempts, hence skipping further calls for instances.

The default instance chunk size of 100 is insufficient for the size set in the AWS configuration (up to 1000).
  1. In the TrueSight Capacity Optimization console, navigate to Administration > ETL & system tasks > ETL tasks.
  2. Selected the configured AWS API Extractor ETL.
  3. In the Run configurations table, click  to modify the ETL task. 
  4. From the Edit run configuration page, click Advanced.
  5. Add the extract.aws.instance.chunksize property and specify a value matching the one configured in AWS.
  6. Save the changes and run the ETL.

The ETL run ends with a Warning status.

The ETL log displays the following message:

Unable to fetch all the volumes due to AWS RequestLimitExceeded error in 5 attempts, hence skipping further calls for volumes.

The default volume chunk size of 100 is insufficient for the size set in the AWS configuration (up to 500).
  1. In the TrueSight Capacity Optimization console, navigate to Administration > ETL & system tasks > ETL tasks.
  2. Selected the configured AWS API Extractor ETL.
  3. In the Run configurations table, click  to modify the ETL task. 
  4. From the Edit run configuration page, click Advanced.
  5. Add the extract.aws.volume.chunksize property and specify a value matching the one configured in AWS.
  6. Save the changes and run the ETL.

When you run the AWS API ETL to fetch resources data from multiple AWS accounts, the ETL fails with a session timeout error. This failure usually occurs after an hour, which is the default session timeout internal.

The ETL log displays the following messages:

Error Assuming Role " + roleName + " externalId:" + externalId + ". Reason:" + e.getMessage())

Error Connecting to Linked Account Id:" + accountId + " ExternalId:" + externalId + ". Error-Details:"+ StringTools.getStacktrace(e));

Unable to complete discovery of Amazon Web Service for 'Linked Account': " + accountId +". reason:"+e.getMessage());

This issue occurs when you have large number of instances provisioned in your AWS accounts or a slow network connection.

Configure the ETL to increase the session timeout value

  1. In the TrueSight Capacity Optimization console, navigate to Administration > ETL & system tasks > ETL tasks.
  2. Selected the configured AWS API Extractor ETL.
  3. In the Run configurations table, click  to modify the ETL task. 
  4. From the Edit run configuration page, click Advanced.
  5. Add the extract.aws.linkedaccount.session.timeout.seconds property and specify a value greater than 3600, which is the default value. This value is set when you create a cross-account role in AWS. The minimum value that AWS recommends is 900.
  6. Save the changes and run the ETL.

Configure cross-account roles to increase the session duration

  1. Open the IAM console, and sign in with your AWS account credentials: https://console.aws.amazon.com/iam/
  2. Click Services > IAM > Roles.
  3. Click the cross-account role name.
  4. Increase the value for the maximum CLI/API session duration, and save the changes.
  5. Repeat steps 2 to 4 for each cross-account role that you created for the linked accounts.

Always ensure that the session timeout value configured for the ETL is less than the session duration value configured in AWS for cross-account roles.

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

Comments