393 views

Cloud Management Troubleshooting - Billing

Overview


This KB addresses the following most common issues with Cloud Management Billing and provides basic steps on how to troubleshoot them:

  • Problem or error downloading billing information from cloud provider
  • No billing data
  • Incorrect billing data  

See the product documentation topic Cloud billing for to find out how to configure billing.

A new billing schedule can be created for either AWS or Azure.

If the configured billing schedule is for AWS, it will ask for the service account and bucket. One of the first things that can go wrong in the case of AWS is that the connectivity does not have a free bucket with billing data or the specified bucket is not available or is invalid.

By default, the billing schedule will be run daily every midnight but you can control the billing import by selecting on demand.

 

Troubleshooting


Billing Job Logs

When complete, the billing job status should show Successful, and the billing dashboard should include data for the discovered time range. If there are any issues with the download of the billing data, an error is displayed in the Billing Job Logs with the last error displayed in the Current job details field. In the following example, the download of billing data from AWS failed because no MID server is configured.

Typically, on a nightly schedule download, only the current month download will be executed, although if it is the very beginning of the month, it might shore up data from the previous month in which case it will run for both the current month and previous month.

Other common billing errors:
 
Error:
 
com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: 27F869BDF8FD446F)
 
Solution:
 
KB0656780

Failed workflow

If the error thrown in the billing job log is not caught properly by the system then, the workflow that billing data processing might have failed. One rare but possible scenario is no billing data has been processed but the billing job log is still showing success. This can happen when something suddenly fails but the system does not recognize it as a failure but it does not just capture the data.

In these situations, the first thing to look at is to inspect the workflow context for the Retrieve Cloud Billing Month workflow and look especially for the Process downloaded data Run Script. This is where the entire parsing of the data that came back from the ECC queue and put in into the import table as part of this activity. You can also check Billing Job Logs for the time where the exception occurred.

After the data is put into the import table, the data is transformed into the final reporting table in the workflow Retrieve Cloud Billing Data > Workflow Activity Transform Import/Increment Month Run Script (after end of each month). It normalizes various fields into items that are common across all cloud providers (AWS/Azure). If there are issues with categories not being mapped out correctly or the way the user would expect, then the issue will most likely be in the transform. If this happens, the total cost figure might not be affected but individual category costs may present discrepancies. Tag handling is also handled by this transform: the table sn_cmp_imp_aws_cost (the import table for AWS), sn_cmp_imp_azure_cost (the import table for Azure), sn_cmp_cost (this is what we use for the billing report). 

The tables involved in billing discovery and cost reporting are:

To run and monitor billing discovery:

Billing Schedule: sn_cmp_billing_schedule
Billing Job Log: sn_cmp_billing_job_log

Staging (pre-transform) tables for imported billing data:

AWS Cost Imports: sn_cmp_imp_aws_cost
Azure Cost Imports: sn_cmp_imp_azure_cost

Post-transform cost report data is put into a Cloud Cost Report (sn_cmp_cost) table with much of the data referenced in sub-tables:

  • sn_cmp_cost
    • sn_cmp_cost_rsrc
      • sn_cmp_cost_ldc
      • sn_capi_resource_type
        • sn_capi_product
          • sn_capi_service_category
          • sn_capi_provider
    • sn_cmp_tag_value_set
      • sn_cmp_tag_value
    • sn_cmp_usage_profile
      • sn_cmp_usage_category

 

Other tables used:

For mapping downloaded data into import tables: sn_cmp_billing_csv_to_db_map
For mapping import table rows into cost report rows: sn_cmp_cost_import_map

MID Server fails to gather billing data 

Sometimes the problem can be on the MID Server side where the MID Server is unable to get through the data. In this case, check the ECC queue records for the messages returned. Check for the AzureBillingProbe or AWZBillingProbe probes in the ECC queue. In a normal situation, the payload returns chunks of data usually 3 MB or smaller. When the final chunk of data is downloaded, the payload has Download complete instead of the data. The MID server agent log is another place to check for issues.

Cloud provider differences

  • AWS billing discovery requires a service account that has been configured to collect billing data into a CSV file in an S3 bucket.
  • Azure billing discovery requires an EA credential that covers the billing data for a set of subscriptions.
  • VMware billing is not supported yet because on-premises cost must be tracked locally rather than relying on a bill from the provider.

Article Information

Last Updated:2018-05-07 18:54:30
Published:2018-05-08