New Relic can ingest CloudWatch metrics and logs, but it’s not just a passive data dump; it actively correlates them to give you a richer understanding of your AWS environment.

Let’s see it in action. Imagine you have an EC2 instance running a web server. Normally, you’d see metrics in CloudWatch like CPUUtilization and NetworkIn/Out. You’d also have logs from your web server, perhaps in S3, which you’d then have to manually inspect to debug issues.

With New Relic, you’d set up the CloudWatch integration. Once configured, you’d see those same CPUUtilization metrics plotted directly within New Relic, alongside your application performance metrics. But here’s the magic: if your application performance drops (say, increased transaction errors in New Relic APM), you can directly pivot to the related CloudWatch metrics for that specific EC2 instance at that exact time.

Here’s a snippet of what that might look like in New Relic’s UI, though it’s dynamic:

[Screenshot placeholder: New Relic APM dashboard showing high error rate, with a correlated chart showing a spike in CPUUtilization from CloudWatch for the underlying EC2 instance.]

The integration also pulls in logs. If that CPUUtilization spike correlates with increased latency in your application, you can then click through to view the CloudWatch logs from that same EC2 instance, filtered to the relevant time window. Instead of sifting through raw log files, you’re presented with a searchable, filterable stream directly within New Relic, often with intelligent parsing that highlights errors or specific events.

[Screenshot placeholder: New Relic Logs UI showing filtered CloudWatch logs from the EC2 instance, highlighting errors that occurred during the CPU spike.]

The core problem this solves is the "silo" of data. CloudWatch provides foundational infrastructure metrics and logs, while APM tools like New Relic provide deep application insights. Without integration, correlating a performance degradation in your application to a specific infrastructure event requires manual cross-referencing, which is slow and error-prone. New Relic bridges this gap by bringing the CloudWatch data into the New Relic context.

Internally, New Relic uses AWS’s API to poll CloudWatch for metrics and to access logs stored in S3 or streamed via CloudWatch Logs. For metrics, it’s a straightforward pull of data points for configured AWS resources. For logs, it typically involves setting up a subscription filter in CloudWatch Logs to send logs to a New Relic endpoint, or configuring New Relic to read from S3 buckets where logs are archived. The key is that New Relic tags and identifies these AWS resources (like EC2 instances, RDS databases, Lambda functions) and uses this information to match the incoming CloudWatch data to the correct entities within New Relic. This allows for contextual correlation.

The levers you control are primarily in the New Relic UI when setting up the integration. You select which AWS accounts to connect, which AWS regions to monitor, and then you can specify which types of resources you want to ingest metrics and logs from (e.g., EC2, RDS, Lambda, ELB). You can also configure metric filters to only pull specific metrics (e.g., CPUUtilization, FreeStorageSpace) to manage data volume and cost. For logs, you’ll point New Relic to your CloudWatch Log Groups, and New Relic will set up the necessary subscriptions or S3 configurations.

A common point of confusion is how New Relic handles log ingestion for services that don’t directly push to CloudWatch Logs, like containers orchestrated by ECS or EKS. In these scenarios, the common pattern is to ensure your container logging driver is configured to send logs to CloudWatch Logs. Once they are in CloudWatch Logs, New Relic can ingest them as usual. This means the integration relies on CloudWatch Logs as the intermediary for many AWS services, rather than New Relic directly collecting from every possible source.

Once you’ve successfully ingested CloudWatch metrics and logs, the next natural step is to explore how New Relic’s AI capabilities can automatically detect anomalies in this combined data.

Want structured learning?

Take the full Newrelic course →