How to collect AWS Metrics

CloudWatch Metrics can be ingested in two ways:

  1. AWS CloudWatch Metric Streams (push)

    1. Metrics streams use the Kinesis Firehose and are cheaper per metric Data Point per Minute (DPM) but less adjustable, so the total cost is generally larger.

    2. Amazon CloudWatch metrics are produced by default at a 5-minute interval. You can enable detailed monitoring to collect metrics at 1-minute intervals.

    3. Observe provides a default recommended.yaml as an exclude list. All other metrics will be collected by default.

  2. CloudWatch API calls using the Observe Forwarder Lambda to poll metrics (pull)

    1. API calls are 3 times more expensive per DPM but you can collect less often to reduce AWS costs.

    2. The Observe Forwarder Lambda can also use filters to poll less metrics to reduce AWS costs.

To configure pull AWS Metrics from the AWS Quickstart app screen:

To configure push AWS Metrics collection:

Summary:

CloudWatch Metrics are cheaper per metric Data Point per Minute (DPM) but less adjustable, so the total cost can be larger. CloudWatch Metrics default to 5 minutes and detailed is 1 minute intervals. The API calls are 3 times more expensive per DPM but you can collect less often to reduce AWS costs.

Can you please link to the terraform resource definitions here?

Hi @andy here’s the link to the repo for Observe Lambda cloudwatch metrics configuration using terraform: