New Relic infrastructure integrations include an integration for reporting your AWS Billing data to New Relic. This document explains how to activate this integration and describes the data that can be reported.
Features
New Relic's AWS Billing integration collects financial data for all your applications and AWS accounts, and then groups it to make it easier for teams to gain cost visibility. This integration collects data from different sub-accounts and services, and also evaluates your AWS budgets in terms of actual spend and forecasted spend.
This financial data is split into the following dashboards:
Set up an AWS budget through AWS Console for New Relic to collect AWS Billing data.
Enable the Receive Billing Alerts checkbox in AWS console > Billing and cost management > Billing preferences. This is necessary for Amazon to report usage fees via CloudWatch. You are not required to actually receive alerts from AWS.
Important
You only need to enable the Receive Billing Alerts checkbox to access the Billing (Costs) dashboard.
To find your integration data in the infrastructure UI, go to one.newrelic.com > All capabilities > Infrastructure > AWS and select one of the AWS Billing integration links.
Details for these types of billing data and how to query them are below:
Data from the BillingBudget provider is related to AWS budgets. This data allows you to monitor:
Money spent on a budget
Limits you set for each budget
Forecasted expenses
You can configure budgets based on usage or expense, in different currencies, or for a monthly, quarterly, or annual time period. Budgets are a great tool to monitor and control costs and take advantage of the AWS predictive model to see forecasted costs.
NRQL example: For a table of different budgets with actual spend, forecast, limits, and usage vs. monetary cost, run the following NRQL query:
SELECT latest(`provider.budgetType`) as 'Budget Type',
max(`provider.actualAmount`) as 'Actual Amount',
max(`provider.limitAmount`) as 'Budget Limit',
latest(`provider.forecastedAmount`) as 'Forecast'
FROM FinanceSample
WHERE provider='BillingBudget'
AND providerAccountId = 'NEW_RELIC_ID_FOR_YOUR_CLOUD_ACCOUNT'
FACET `provider.budgetName`
SINCE 1 day ago
Tip
The providerAccountId is your cloud service account ID in New Relic. You can find it in one.newrelic.com > All capabilities > Infrastructure > AWS, next to Provider account.
The data stored in the BillingServiceCost provider is aggregated for service costs containing the latest and most recent data for all AWS service costs in all registered accounts.
Tip
If you have configured multiple AWS accounts, New Relic recommends filtering by each account with the attribute providerAccountName or providerAccountId.
NRQL example: To group providers by service names, run the following NRQL query:
AND providerAccountId = 'NEW_RELIC_ID_FOR_YOUR_CLOUD_ACCOUNT'
SINCE 1 day ago
FACET `provider.serviceName`
LIMIT 20
Tip
The providerAccountId is your cloud service account ID in New Relic. You can find it in one.newrelic.com > All capabilities > Infrastructure > AWS, next to Provider account.
The BillingAccountCost provider stores aggregated data for account and sub-accounts containing the latest and most recent aggregate of financial data. Please bear in mind that if you have many AWS Accounts configured it is recommended to filter by each account with the attribute providerAccountName or providerAccountId.
NRQL example: To group providers by account names, run the following NRQL query:
AND providerAccountId = 'NEW_RELIC_ID_FOR_YOUR_CLOUD_ACCOUNT'
SINCE 1 day ago
FACET `provider.accountId`
LIMIT 20
Tip
The providerAccountId is your cloud service account ID in New Relic. You can find it in one.newrelic.com > All capabilities > Infrastructure > AWS, next to Provider account.
The BillingAccountServiceCost provider contains unaggregated data filterable by AWS account ID or AWS service name.
NRQL example: To understand the cost split of AWS services for a particular AWS account ID, run the following NRQL query:
AND providerAccountId = 'NEW_RELIC_ID_FOR_YOUR_CLOUD_ACCOUNT'
AND `provider.serviceName`='AmazonEC2'
FACET `provider.accountId`
SINCE 1 day ago
LIMIT 100
Tip
The providerAccountId is your cloud service account ID in New Relic. You can find it in one.newrelic.com > All capabilities > Infrastructure > AWS, next to Provider account.
Default polling information for the AWS Billing integration:
New Relic polling interval: 1 hour
Amazon CloudWatch data interval: 4 hours
Metric data
The New Relic infrastructure AWS Billing integration collects the following metric data:
Data
Description
AWS Billing metrics
EstimatedCharges: The estimated charges for your AWS usage. This can either be estimated charges for one service or a rollup of estimated charges for all services. The currency is USD.
AWS Budgets metrics
actualAmount: The actual cost or usage being tracked by a budget.
limitAmount: The total amount of cost or usage that you want to track with a budget as an upper limit.
forecastedAmount: The forecasted cost or usage being tracked by a budget.
Other system data
The AWS Billing integration also collects the following attributes:
Attributes
Description
AWS Billing attributes
Service Name: The name of the AWS service. This dimension is omitted for the total of estimated charges across all services.
Linked Account: The linked account number.
AWS Budgets attributes
budgetName: The name of a budget. Unique within accounts
budgetType: Whether the budget tracks monetary cost or usage