Slide 4 of 12

AWS metrics - Metric Streams

How it works

AWS Metric Streams architecture: AWS pushes metrics to Grafana Cloud via Kinesis Firehose

Recommended for AWS production

Complexity: Moderate | Infrastructure: Firehose + IAM | Latency: Seconds

Trade-offs

ProsCons
Near real-time (seconds)Requires AWS infrastructure
Better cost profile at scaleMore complex initial setup
No API rate limits
Easier long-term maintenance

Why metric streams for production

  • Lower latency for alerting (seconds vs. minutes)
  • Better cost profile as you scale
  • Easier maintenance (no scrape schedules to manage)
  • Scales smoothly across multi-account AWS

Documentation

View the full documentation. Learning path coming soon!

AWS metric streams

Script

AWS Metric Streams are our recommended approach for production AWS monitoring. This completely flips the model from scrape jobs. Instead of Grafana Cloud pulling metrics from CloudWatch, AWS pushes them to you.

Here’s the architecture: you create a CloudWatch Metric Stream that selects which metrics to export. That stream delivers to a Kinesis Firehose, which batches and forwards to Grafana Cloud’s ingestion endpoint.

The result? Metrics arrive in seconds instead of minutes, which is critical for alerting. And because AWS is pushing rather than Grafana pulling, you get a better cost profile at scale and don’t worry about API rate limits.

Long-term maintenance is easier too. No scheduled scrape jobs to manage.

Yes, there’s more upfront setup. You’re deploying infrastructure in your AWS account: the Metric Stream itself, a Firehose delivery stream, IAM roles to authorize everything.

But you can template this with Terraform or CloudFormation and deploy consistently across all your accounts. The investment pays off quickly in reliability, cost efficiency, and lower alerting latency.