---
title: AWS Integration and CloudWatch FAQ
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Integrations > Integration Guides > AWS Integration and CloudWatch FAQ
---

# AWS Integration and CloudWatch FAQ

{% callout %}
# Important note for users on the following Datadog sites: us2.ddog-gov.com

{% alert level="info" %}
To find out if this integration is available in your organization, see your [Datadog Integrations](https://app.datadoghq.com/integrations) page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email [support@ddog-gov.com](mailto:support@ddog-gov.com).
{% /alert %}

{% /callout %}

### Can I collect AWS custom metrics through the integration?{% #can-i-collect-aws-custom-metrics-through-the-integration %}

Yes. Enable **Collect Custom Metrics** under the **Metric Collection** tab on the [AWS integration page](https://app.datadoghq.com/integrations/amazon-web-services).

### How do I collect metrics from a service for which Datadog doesn't have an official integration?{% #how-do-i-collect-metrics-from-a-service-for-which-datadog-doesnt-have-an-official-integration %}

AWS metrics coming from an `AWS/<namespace>` for which there is no official integration are also brought in under the custom namespace when the `Collect custom metrics` option is enabled. You can filter these metrics out and only keep the metrics you want by using the filter string under custom namespace with the [Set an AWS tag filter](https://docs.datadoghq.com/api/latest/aws-integration.md#set-an-aws-tag-filter) API.

### How does the Datadog AWS integration use CloudWatch?{% #how-does-the-datadog-aws-integration-use-cloudwatch %}

Datadog uses the CloudWatch monitoring APIs to monitor your AWS resources. Our main use of these APIs is to gather raw metrics data through the `GetMetricData` endpoint.

Other APIs are used to enrich metrics data. Some examples include:

- Gathering custom tags to add to metrics

- Gathering information about the status or health of resources, such as automuting

- Gathering log streams

### How many API requests are made and how can I monitor my CloudWatch usage?{% #how-many-api-requests-are-made-and-how-can-i-monitor-my-cloudwatch-usage %}

Datadog gathers the available metrics every 10 minutes for each AWS sub-integration you have installed. If you have a large number of AWS resources for a particular sub-integration (SQS, ELB, DynamoDB, AWS Custom metrics), this can impact your AWS CloudWatch bill.

You can monitor your CloudWatch API usage using the [AWS Billing integration](https://docs.datadoghq.com/integrations/amazon_billing.md).

### How can I reduce the delay of receiving my CloudWatch metrics to Datadog?{% #how-can-i-reduce-the-delay-of-receiving-my-cloudwatch-metrics-to-datadog %}

By default, Datadog collects AWS metrics every 10 minutes. See [Cloud Metric Delay](https://docs.datadoghq.com/integrations/guide/cloud-metric-delay.md) for more information. If you need to reduce the latency, contact [Datadog support](https://docs.datadoghq.com/help/) for assistance. To get CloudWatch metrics into Datadog faster with a 2-3 minute latency we recommend using the [Amazon CloudWatch Metric Streams and Amazon Data Firehose](https://docs.datadoghq.com/integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose.md).

### Why am I only seeing the average values of my custom AWS/Cloudwatch metrics?{% #why-am-i-only-seeing-the-average-values-of-my-custom-awscloudwatch-metrics %}

By default, Datadog only collects the average values of your custom AWS/Cloudwatch metrics. However, additional values are available by contacting [Datadog support](https://docs.datadoghq.com/help/). These include (where available) the min, max, sum, and sample count.

### Is there a discrepancy between my data in CloudWatch and Datadog?{% #is-there-a-discrepancy-between-my-data-in-cloudwatch-and-datadog %}

Some important distinctions to be aware of:

- Datadog collects a single CloudWatch statistic for the equivalent CloudWatch metric in Datadog. Comparing the `Sum` in CloudWatch to the `Average` in Datadog results in discrepancies. For some CloudWatch metrics, multiple statistics can be useful and Datadog creates different metric names for the same CloudWatch metric with different statistics. For example, `aws.elb.latency` and `aws.elb.latency.maximum`.
- In AWS for counters, a graph set to `sum` `1 minute` shows the total number of occurrences in one minute leading up to that point (the rate per one minute). Datadog is displaying the raw data from AWS normalized to per second values, regardless of the timeframe selected in AWS. Therefore, you might see a lower value in Datadog.
- Overall, `min`, `max`, and `avg` have different meanings within AWS. AWS distinctly collects average latency, minimum latency, and maximum latency. When pulling metrics from AWS CloudWatch, Datadog only receives the average latency as a single timeseries per ELB. Within Datadog, when you select `min`, `max`, or `avg`, you are controlling how multiple timeseries are combined. For example, requesting `system.cpu.idle` without any filter returns one series for each host reporting that metric. Datadog combines these timeseries using [space aggregation](https://docs.datadoghq.com/metrics/introduction.md#space-aggregation). Otherwise, if you requested `system.cpu.idle` from a single host, no aggregation is necessary and switching between `avg` and `max` yields the same result.

### How do I adjust my data on Datadog to match the data displayed in CloudWatch?{% #how-do-i-adjust-my-data-on-datadog-to-match-the-data-displayed-in-cloudwatch %}

AWS CloudWatch reports metrics at one-minute granularity normalized to per-minute data. Datadog reports metrics at one-minute granularity normalized to per-second data. To adjust the data in Datadog, multiply by 60. Also make sure the statistic of the metric is the same. For example, the metric `IntegrationLatency` fetches a number of different statistics": Average, Maximum, Minimum, as well as percentiles. In Datadog, these statistics are each represented as their own metrics:

```
aws.apigateway.integration_latency (average)
aws.apigateway.integration_latency.maximum
aws.apigateway.integration_latency.minimum
aws.apigateway.integration_latency.p50
```

#### Will a rollup() adjust my data?{% #will-a-rollup-adjust-my-data %}

Rollups don't display similar results. For a rollup call of `rollup(sum, 60)`, the server groups all data points in minute bins and returns the sum of each bin as a datapoint. However, the granularity of AWS metrics is one minute, so there is only one datapoint per bin leading to no change.

### Why don't I see metrics for a new AWS service I enabled?{% #why-dont-i-see-metrics-for-a-new-aws-service-i-enabled %}

If you recently enabled a new AWS service integration but are not seeing metrics in Datadog, verify the following:

1. **IAM permissions**: Confirm that the IAM role or IAM user associated with the Datadog integration includes the permissions required by the service. See the individual [AWS integration pages](https://docs.datadoghq.com/integrations.md#cat-aws) for service-specific permission requirements.
1. **Region**: Confirm that the AWS region where your resources are deployed is enabled in the [AWS integration page](https://app.datadoghq.com/integrations/amazon-web-services).
1. **CloudWatch availability**: Open the CloudWatch console in AWS and confirm the expected metrics exist. Some services do not emit CloudWatch metrics until specific conditions are met (for example, an ELB with no attached instances does not emit metrics).
1. **Polling delay**: API polling collects metrics approximately every 10 minutes. If you use [CloudWatch Metric Streams](https://docs.datadoghq.com/integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose.md), expect a 2-3 minute delay. Allow at least one polling cycle before investigating further.

### What is the difference between API polling and CloudWatch Metric Streams?{% #what-is-the-difference-between-api-polling-and-cloudwatch-metric-streams %}

| API polling (default) | CloudWatch Metric Streams                                                                              |
| --------------------- | ------------------------------------------------------------------------------------------------------ |
| **Typical latency**   | ~10 minutes                                                                                            | 2-3 minutes                                                                                                                                                    |
| **Setup**             | Included with the AWS integration                                                                      | Requires separate setup with [Amazon Data Firehose](https://docs.datadoghq.com/integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose.md) |
| **AWS cost**          | CloudWatch `GetMetricData` API calls                                                                   | CloudWatch Metric Streams and Firehose delivery charges                                                                                                        |
| **Coverage**          | All standard CloudWatch namespaces; custom namespaces require **Collect Custom Metrics** to be enabled | Most CloudWatch namespaces (some exclusions apply)                                                                                                             |
| **Custom namespaces** | Supported with **Collect Custom Metrics** enabled                                                      | Supported by including the namespace in the stream configuration                                                                                               |

For more detail, see [Cloud Metric Delay](https://docs.datadoghq.com/integrations/guide/cloud-metric-delay.md) and the [CloudWatch Metric Streams guide](https://docs.datadoghq.com/integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose.md).

### Why do my metric values look doubled after enabling Metric Streams?{% #why-do-my-metric-values-look-doubled-after-enabling-metric-streams %}

When transitioning from API polling to CloudWatch Metric Streams, there is an overlap period where both collection methods send data for the same metrics. This can cause metric values to appear doubled in Datadog.

Datadog automatically detects streamed namespaces and stops polling them, so you do not need to manually disable API polling. Leave your configuration settings in the [AWS integration page](https://app.datadoghq.com/integrations/amazon-web-services) unchanged, as Datadog continues to use API polling to collect custom tags, metadata, and metrics that cannot be sent through Metric Streams (such as `aws.s3.bucket_size_bytes` and `aws.billing.estimated_charges`).

Detection typically takes up to five minutes, but the overlap period may last longer depending on the timing of active polling crawlers. If values still appear doubled after several minutes, see the [CloudWatch Metric Streams guide](https://docs.datadoghq.com/integrations/guide/aws-cloudwatch-metric-streams-with-kinesis-data-firehose.md) for troubleshooting.

### Which AWS services require additional setup beyond the core integration?{% #which-aws-services-require-additional-setup-beyond-the-core-integration %}

Some AWS services do not emit metrics to CloudWatch by default and require extra configuration:

| Service                          | Additional setup required                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Amazon RDS (OS-level metrics)    | Enable [Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html) in the RDS console                                                                                                                                                                                                                                                                                                                                                          |
| Amazon S3 (Storage Lens metrics) | Configure [Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the S3 console                                                                                                                                                                                                                                                                                                                                                                               |
| AWS billing metrics              | Enable `Billing` in the [Metric Collection tab](https://app.datadoghq.com/integrations/amazon-web-services), add the `budgets:ViewBudget` permission, and [enable billing metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html#turning_on_billing_metrics) in the AWS console. See [Monitor your AWS billing details](https://docs.datadoghq.com/integrations/guide/monitor-your-aws-billing-details.md) for full instructions. |
| Custom CloudWatch namespaces     | Enable **Collect Custom Metrics** in the [Metric Collection tab](https://app.datadoghq.com/integrations/amazon-web-services)                                                                                                                                                                                                                                                                                                                                                                      |
| EC2 detailed monitoring          | Enable [detailed monitoring](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html) per-instance in the EC2 console                                                                                                                                                                                                                                                                                                                                                       |
