Slide 5 of 10

AWS logs - Firehose

How it works

AWS logs Firehose architecture: CloudWatch Logs to Kinesis Firehose to Grafana Cloud Loki

Complexity: Moderate | Infrastructure: Managed | Latency: Buffered (60-900s)

CloudWatch logs collected with Firehose

Log typeSourceKey insights
CloudWatch LogsApplications, servicesApplication events, errors
RDS Instance LogsDatabase instancesQuery logs, slow queries
VPC Flow LogsNetwork interfacesNetwork traffic, security

Trade-offs

ProsCons
~3x cheaper than Lambda at scaleBuffering adds latency
High-throughput streamingFirehose costs
Managed (automatic scaling)Limited transformation
Automatic retry/error handlingIAM role setup
Native CloudWatch integration

Documentation

View the full documentation. Learning path coming soon!

AWS Firehose logs

Script

Amazon Data Firehose is the recommended approach for most AWS log collection. It handles CloudWatch logs from your applications, RDS instance logs, and VPC Flow Logs with better scalability and cost efficiency than Lambda.

Firehose is a managed streaming service. You configure a subscription filter on your CloudWatch log group that sends logs to Firehose.

Logs flow in, get batched automatically, and deliver to Grafana Cloud with built-in retry and error handling. You don’t manage any compute. AWS handles the scaling.

Cost matters at scale. Firehose is about three times cheaper than Lambda for high log volumes, making it the better choice for production workloads.

The trade-off is latency. Firehose buffers logs before delivery, typically anywhere from 60 to 900 seconds, depending on your configuration.

That’s fine for most use cases. You’re not usually doing real-time alerting on raw log lines.

For CloudWatch logs at any scale, Firehose is the recommended approach. It’s simpler to operate, more cost-effective, and scales seamlessly with growing log volumes.