CloudWatch Metrics Calculator
Count unique CloudWatch custom metrics from resources and dimensions, then price metrics, alarms, dashboards and API calls.
About CloudWatch Metrics Calculator
CloudWatch charges per unique metric per month, and uniqueness is defined by the full dimension set — so emitting the same metric name tagged with a request ID creates a new billed metric for every request. Datapoint volume itself is not charged beyond the PutMetricData API calls, which is why batching up to 1000 metrics per call keeps API cost negligible while cardinality quietly explodes. Confirm the current per-metric, per-alarm and per-dashboard prices for your region. Custom metric cost scales with cardinality rather than traffic, so a well-meaning per-customer or per-instance dimension can turn a 15 USD monitoring bill into thousands without any change in request volume.
Formulas
CloudWatch Metrics
unique metrics = resources × metric names per resource; cost = billable metrics × metric price + alarms × alarm price + dashboards × dashboard price + API calls ÷ 1000 × API price.
- unique metric
- One namespace, name and dimension-value combination
- high-resolution alarm
- Evaluates at 10 or 30 s instead of 60 s, priced higher
- free allowance
- 10 custom metrics, 10 alarms and 3 dashboards each month
Dimension cardinality
adding one dimension with k distinct values multiplies your billed metric count by k — cardinality, not volume, drives this bill.
Worked example
With the default values below, CloudWatch Metrics Calculator returns Estimated Monthly Cost of $465.00. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Resources emitting metricsminimum 0 resources
- 50 resources
- Unique metric names per resourceminimum 0 metrics
- 30 metrics
- Standard-resolution alarmsminimum 0 alarms
- 100 alarms
- High-resolution alarmsminimum 0 alarms
- 10 alarms
- Dashboardsminimum 0 dashboards
- 5 dashboards
- PutMetricData calls per monthminimum 0 calls
- 0 calls
- Price per custom metric per monthminimum 0 USD
- 0.3 USD
- Price per standard alarmminimum 0 USD
- 0.1 USD
- Price per high-resolution alarmminimum 0 USD
- 0.3 USD
- Price per dashboardminimum 0 USD
- 3 USD
- Price per 1000 API requestsminimum 0 USD
- 0.01 USD
- Apply the always-free allowances
- Yes
Results
- Estimated Monthly Cost
- $465.00
- Unique Billed Metrics
- 1,500
- Custom Metric Cost
- $447.00
- Alarm Cost
- $12.00
- Dashboard Cost
- $6.00
- Cost per Monitored Resource
- $9.30
Step by step
- 1Values used
- 2CloudWatch Metrics
- 3Dimension cardinality
- 4Estimated Monthly Cost= 465.00
- 5Unique Billed Metrics= 1,500
- 6Custom Metric Cost= 447.00
- 7Alarm Cost= 12.00
- 8Dashboard Cost= 6.00
- 9Cost per Monitored Resource= 9.30
Assumptions and limits
- The result is derived only from the 12 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
How is CloudWatch Metrics calculated?
unique metrics = resources × metric names per resource; cost = billable metrics × metric price + alarms × alarm price + dashboards × dashboard price + API calls ÷ 1000 × API price. CloudWatch charges per unique metric per month, and uniqueness is defined by the full dimension set — so emitting the same metric name tagged with a request ID creates a new billed metric for every request. Datapoint volume itself is not charged beyond the PutMetricData API calls, which is why batching up to 1000 metrics per call keeps API cost negligible while cardinality quietly explodes. Confirm the current per-metric, per-alarm and per-dashboard prices for your region.
Why does CloudWatch Metrics matter?
Custom metric cost scales with cardinality rather than traffic, so a well-meaning per-customer or per-instance dimension can turn a 15 USD monitoring bill into thousands without any change in request volume.
What values do I need to enter?
This calculator takes 12 inputs: Resources emitting metrics, Unique metric names per resource, Standard-resolution alarms, High-resolution alarms, Dashboards, PutMetricData calls per month, Price per custom metric per month, Price per standard alarm, Price per high-resolution alarm, Price per dashboard, Price per 1000 API requests, Apply the always-free allowances. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Are the metrics AWS publishes free?
Yes. Standard metrics that AWS services publish, such as Lambda Duration or ALB RequestCount at 5-minute or 1-minute resolution, are free. You pay for metrics you publish yourself with PutMetricData or through the Embedded Metric Format, plus alarms and dashboards on any metric.
How do I keep high-cardinality data without paying per metric?
Write it as structured logs and query it with Logs Insights, or use Embedded Metric Format and only promote the low-cardinality dimensions you actually alarm on to metrics. Logs bill by the GB, which is far cheaper than one metric per unique tag value.
Related Calculators
You might also need
- Serverless Health Score CalculatorCommonly used together
- CloudWatch Log Cost CalculatorCommonly used together
- CloudTrail Storage CalculatorCommonly used together
- X-Ray Trace Cost CalculatorCommonly used together
- API Gateway Cost CalculatorAlso in AWS Serverless
- Lambda Cost CalculatorAlso in AWS Serverless
