AWS CloudWatch Metrics Pricing & Cost Guide
CloudWatch metrics pricing often looks like "a few small line items" until metric sprawl and polling add up. A useful cost model separates metric volume (time series) from metric access (API requests and dashboards), and then adds alarms as a related bucket.
What to include in a metrics estimate
- Custom metrics time series: metric names * dimension combinations * environments
- Resolution: standard vs high-resolution where applicable
- Metrics API requests: dashboard refresh + tooling polling
- Dashboards: dashboard-month charges (and their polling effects)
- Alarms: alarm-months created from metrics (separate pricing bucket)
Fast modeling workflow
- Estimate custom metric time series (baseline + growth scenario).
- Estimate metrics API requests from dashboards and tooling polling.
- Count dashboards and alarms (prod vs non-prod).
- Apply your region pricing and validate against a real week of usage.
How to estimate the two core drivers
- Custom metrics: count time series and identify high-cardinality dimensions. Guide: estimate custom metrics.
- API requests: model dashboard refresh and tool polling. Guide: estimate API requests.
Worked example (why this grows fast)
Suppose you publish 30 metrics per service, each with 2 dimensions (service and status), and you have 12 services and 2 environments. If status has 5 values, a rough series estimate is:
- Series ~= 30 * (12 * 5) * 2 ~= 3,600 series
If you add a high-cardinality dimension (podId, tenantId), series can jump by orders of magnitude without any traffic increase.
Common pitfalls
- Adding unbounded dimensions (tenantId, userId, podId) and creating runaway series counts.
- Copying full dashboard packs into every environment and keeping them forever.
- Multiple tools polling CloudWatch in parallel (duplicated API request volume).
- Publishing per-instance metrics when service-level aggregates would work for alerting.
- Not separating prod vs non-prod (non-prod is often the safest cost reduction).
Optimization direction
- Control cardinality with a dimension budget and explicit review.
- Aggregate by default; use per-instance only for deep debugging.
- Reduce polling overlap and slow down refresh for slow-moving metrics.
Guide: CloudWatch metrics cost optimization.
Validation checklist
- Measure active series by namespace and identify top dimensions.
- Measure API request volume for at least 7 days (include a busy/incident day if possible).
- Confirm dashboard time ranges and refresh intervals match the decision speed you need.
- Validate alarms: do you have many per-resource alarms that scale with fleet size?
Sources
- CloudWatch pricing: aws.amazon.com/cloudwatch/pricing
Related guides
Estimate CloudWatch metrics API requests (dashboards and polling)
How to estimate CloudWatch metrics API request volume for cost models: derive requests from dashboards and tooling polling, include refresh rates, and validate with measured usage.
CloudWatch dashboards pricing: what to include (dashboard-month + API)
A practical guide to CloudWatch dashboard costs: dashboard-month charges plus the hidden drivers (metrics API requests, alarms, and high-cardinality metrics).
CloudWatch metrics cost optimization: reduce custom metric sprawl
A practical playbook to reduce CloudWatch metrics costs: control custom metric cardinality, right-size resolution, reduce API polling, and validate observability coverage.
CloudWatch Logs Insights cost optimization (reduce GB scanned)
A practical playbook to reduce CloudWatch Logs Insights costs: measure GB scanned, fix query patterns, time-bound dashboards, and avoid repeated incident scans.
CloudWatch Logs pricing: ingestion, retention, and queries
A practical CloudWatch Logs pricing guide: model ingestion (GB/day), retention (GB-month), and query/scan costs (Insights/Athena). Includes pitfalls and a validation checklist.
Estimate API requests per month (RPS, logs, and metrics)
How to estimate monthly API request volume for cost models: from CloudWatch metrics, from access logs, and from RPS charts (with common pitfalls like retries and health checks).
Related calculators
Log Cost Calculator
Estimate total log costs: ingestion, storage, and scan/search.
Log Ingestion Cost Calculator
Estimate monthly log ingestion cost from GB/day or from event rate and $/GB pricing.
Log Retention Storage Cost Calculator
Estimate retained log storage cost from GB/day, retention days, and $/GB-month pricing.
Log Search Scan Cost Calculator
Estimate monthly scan charges from GB scanned per day and $/GB pricing.
Metrics Time Series Cost Calculator
Estimate monthly metrics cost from active series and $ per series-month pricing.
CloudWatch Metrics Cost Calculator
Estimate CloudWatch metrics cost from custom metrics, alarms, dashboards, and API requests.
FAQ
What is the biggest driver for many CloudWatch metrics bills?
Custom metrics and cardinality. Dimensions with many unique values multiply time series and can dominate cost.
Do metrics API requests matter?
They can. Dashboards and external tools polling frequently can add a meaningful request-based line item.
Last updated: 2026-02-23