Introduction

AWS CloudWatch insufficient data usually means the alarm is not receiving the datapoints it needs to evaluate into OK or ALARM. That can happen because the metric stopped publishing, the period is too short for the actual metric cadence, the dimension set is wrong, or the alarm is configured to treat missing data as missing rather than breaching.

Symptoms

  • The alarm stays in INSUFFICIENT_DATA longer than expected
  • No page or notification fires even though the service is unhealthy
  • Metric graphs show gaps instead of threshold breaches
  • Sparse custom metrics behave differently from high-frequency AWS service metrics

Common Causes

  • The metric stopped publishing entirely
  • The alarm period and evaluation windows do not match the publish cadence
  • The wrong namespace, dimensions, or statistic is configured
  • treatMissingData is not appropriate for a heartbeat-style signal

Step-by-Step Fix

  1. 1.Inspect the alarm definition and current state reason.
  2. 2.Check whether the metric is still being published.
  3. 3.Align period and missing-data behavior to the metric type.
  4. 4.Verify the exact namespace and dimensions the alarm is evaluating.

Prevention

  • Match alarm period to the actual metric publishing interval
  • Use breaching for liveness and heartbeat metrics
  • Monitor the metric pipeline, not just the alarm state
  • Review dimensions and statistics after deployment or namespace changes