How can I see why I was charged for CloudWatch usage, and then how can I reduce future charges?

Last updated: 2021-02-15

I'm seeing high Amazon CloudWatch charges in my AWS bill. How can I see why I was charged for CloudWatch usage, and then how can I reduce future charges?

Short description

Review your AWS Cost and Usage reports to understand your CloudWatch charges. Look for charges for the following services.
Note: Items in bold are similar to what you might see in your reports. In your reports, <region> represents the abbreviation for your AWS Regions.

Custom metrics: MetricStorage <region>-CW:MetricMonitorUsage

CloudWatch metric API calls:

  • <API Name> <region>-CW:Requests
  • GetMetricData <region>-CW:GMD-Requests/Metrics

CloudWatch alarms:

  • Unknown <region>-CW:AlarmMonitorUsage
  • Unknown <region>-CW:HighResAlarmMonitorUsage

CloudWatch dashboards: DashboardHour DashboardsUsageHour(-Basic)

CloudWatch Logs:

  • PutLogEvents <region>-DataProcessing-Bytes
  • PutLogEvents <region>-VendedLog-Bytes
  • HourlyStorageMetering <region>-TimedStorage-ByteHrs

CloudWatch Events: AWSEvents PutEvents <region>-Event(-64K-Chunks)|Request

CloudWatch Contributor Insights:

  • Contributor Insights Rules: <region>-CW:ContributorInsightRules
  • Contributor Insights matched log events: <region>-CW:ContributorInsightEvents

CloudWatch Synthetics canary runs: <region>-CW:Canary-runs

When you understand what you were charged for and why, use the following recommendations to reduce future costs by adjusting your CloudWatch configuration.

To easily monitor your AWS costs in the future, enable billing alerts.


Note: If you receive errors when running AWS Command Line Interface (AWS CLI) commands, make sure that you’re using the most recent AWS CLI version.

Detailed monitoring

Custom metrics

CloudWatch metric API calls

CloudWatch alarms

  • Charges are incurred by the number of metrics associated with a CloudWatch alarm. For example, if you have a single alarm with multiple metrics, you're charged for each metric.
  • To reduce costs, remove unnecessary alarms.

CloudWatch dashboards

  • Charges are incurred when you exceed three dashboards (with up to 50 metrics).
  • Calls to dashboard-related APIs through the AWS CLI or an SDK also incur charges after requests exceed the AWS Free Tier limit.
    Exception: GetMetricWidgetImage always incurs charges.
  • To reduce costs, delete unnecessary dashboards. If you're using the AWS Free Tier, keep your total number of dashboards to three or less. Also be sure to keep the total number of metrics across all dashboards to less than 50. Make dashboard-related API calls through the console for free rather than making them through the AWS CLI or an SDK.

CloudWatch Logs

CloudWatch Events

  • Charges are based on the number of custom events (not the number of rules). Events sent from one AWS account to another are billed to the sender account as custom events.
  • To reduce costs, minimize PutEvents calls. Also, reduce the number of events that are sent to an event bus (they’re also charged as custom events).

CloudWatch Contributor Insights

CloudWatch Synthetics