AWS Billing and Cost Management

Overview

AWS Billing and Cost Management allows you to track your AWS infrastructure billing forecasts and costs, including CloudWatch usage.

Enable this integration to see billing metrics in Datadog.

Setup

Installation

If you haven’t already, set up the Amazon Web Services integration first.

Metrics collection

  1. In the AWS integration page , ensure that Billing is enabled under the Metric Collection tab.

  2. Add the following permission to your Datadog IAM policy to collect AWS billing metrics. For more information, see the AWS Budgets policies on the AWS website.

    AWS PermissionDescription
    budgets:ViewBudgetUsed to view AWS budgets metrics
  3. Enable Billing metrics within the AWS Console .

  4. Install the Datadog - AWS Billing and Cost Management integration .

  5. Create an AWS budget to start receiving metrics .

Note: AWS Budgets metrics can only be collected from your AWS primary account.

Log collection

Enable logging

Configure AWS billing to send logs either to a S3 bucket or to CloudWatch.

Note: If you log to a S3 bucket, make sure that amazon_billing is set as Target prefix.

Send logs to Datadog

  1. If you haven’t already, set up the Datadog Forwarder Lambda function .

  2. Once the Lambda function is installed, manually add a trigger on the S3 bucket or CloudWatch log group that contains your AWS billing logs in the AWS console:

Monitoring CloudWatch usage

After setting up your AWS permissions to add the budgets:ViewBudget permission, you can monitor CloudWatch billing with this integration.

AWS billing metrics are available about once every 4 hours. You may have to wait 4 hours for Datadog to collect the metrics.

Once the metrics are available, look at aws.billing.estimated_charges and aws.billing.forecasted_charges. You can use these metrics to track your CloudWatch usage by filtering the context down to service:amazoncloudwatch. You can break down the spend to each AWS account using max:account_id.

The metric aws.billing.estimated_charges is what AWS believes to be the CloudWatch bill so far for the current month. This value is reset to 0 at the start of each month. The metric aws.billing.forecasted_charges is your estimated CloudWatch bill for the end of the month based on current usage.

Data Collected

Metrics

aws.billing.actual_spend
(gauge)
The actual spending costs for your budget period
Shown as dollar
aws.billing.budget_limit
(gauge)
The spending limit for your budget period
Shown as dollar
aws.billing.estimated_charges
(gauge)
The estimated charges for your AWS usage. This can either be estimated charges for one service or a roll-up of estimated charges for all services.
Shown as dollar
aws.billing.forecasted_spend
(gauge)
The forecasted spending costs for your budget period
Shown as dollar

Each of the metrics retrieved from AWS is assigned the same tags that appear in the AWS console, including but not limited to host name, security-groups, and more.

Events

The AWS Billing and Cost Management integration does not include any events.

Service Checks

The AWS Billing and Cost Management integration does not include any service checks.

Troubleshooting

No metrics are reporting from the AWS billing integration

Here is a check list that you can apply to troubleshoot your integration:

  1. Ensure your IAM policy has budgets:ViewBudget.
  2. Ensure billing metrics are enabled in your payer account.

Note: AWS Billing metrics are collected every 4 or 8 hours by Datadog.

Missing metrics

If you are missing aws.billing.actual_spend, aws.billing.forecasted_spend, or aws.billing.budget_limit, create an AWS budget to start receiving the metrics in Datadog.

If you are missing aws.billing.estimated_charges, ensure that the AWS account in question is your primary account. This metric cannot be pulled from accounts that are not the primary AWS billing account, as noted above.

Note: AWS Billing metrics are collected every 4 or 8 hours by Datadog.