Cloudthread Y Combinator
September 1, 2022

CloudWatch Pricing: A Primer

Cloudwatch pricing can seem complex, but if you keep in mind what you're monitoring and how much data is produced, it is worth it.

Amazon Cloudwatch is AWS' observability and monitoring service. It's a flexible and scalable monitoring solution that you can have up and running in minutes. 

Cloudwatch has a wide variety of features and many moving parts. Even though it's relatively easy to configure, it can be complicated to figure out how AWS charges you for its services. Let's take a look at Cloudwatch and its billing model. 

What is Cloudwatch?

Cloudwatch collects operational and monitoring information, including events, metrics, and logs. With Cloudwatch, you get a unified view of and complete visibility of your AWS resources, and with the use of a proprietary agent, your on-premises systems, too. 

Cloudwatch is a full-feature monitoring system with support for alarms, visualized and instrumented logs, and metrics. Cloudwatch even has the ability to provide you with insights about how your services are doing. You can also configure it for automated actions. 

You can use it to: 

  • Collect and analyze logs
  • Create custom alarms
  • Build custom dashboards
  • Perform real user monitoring
  • Run canary tests

Cloudwatch integrates with more than 70 AWS services, including Aurora Serverless, EKS, Fargate, Lambda, and EBS

Cloudwatch integrates with more than 70 AWS services, including Aurora Serverless, EKS, Fargate, Lambda, and EBS.

How Does Cloudwatch Pricing Work?

Let's look at Cloudwatch pricing and how it works. Costs cover ten areas. Each contributes to your monthly cost. The specific costs depend on the region where you run Cloudwatch. 

Metrics

A metric is information about the performance of one of your systems or applications. Cloudwatch ingests these metrics for display, charting, and analysis. 

Cloudwatch has two types of monitoring: basic and detailed. Basic monitoring is always free, while detailed monitoring has an extra cost and is only available for some services. 

You can also publish custom metrics to Cloudwatch. These metrics incur an additional cost. 

Dashboards

Cloudwatch bills for dashboards at a flat cost per month. 

Alarms

Alarms watch one or more metrics. When one of them breaches a threshold, they perform a configured action. You can create two types of alarms: metric or composite. Alarms are billed per metric. 

  • Metric alarms monitor a single metric or a formula based on more than one metric. When you create an alarm, you specify a threshold. When the metric goes under or over that level, it triggers the alarm. Pricing is based on the sample rate you select for your alarm. Standard Resolution is one sample per minute, while High Resolution, which is more expensive, is once every 10 seconds.
  • Composite alarms evaluate other alarms that you've created. Cloudwatch prices them separately, and they're more expensive than metric alarms.

Logs

Cloudwatch ingests and processes logs to create metrics. In some cases, like Container Insights, AWS configures the instrumentation for you. But you can set up custom log ingestion and instrumentation, too. 

Collecting, storing, and analyzing logs are three discrete operations, and AWS bills each one individually. All three are billed by the gigabyte. 

Events

AWS resources, like EC2 instances and AWS applications, generate events when their states change. You set up rules that respond to these events. Depending on the nature of the event, Cloudwatch can take action to respond to the state change. 

Cloudwatch bills events at a flat rate per million. 

Contributor Insights

Contributor insights are a way to write rules for analyzing log messages as applications send them to Cloudwatch logs. Cloudwatch bills for each active rule and every million events that match a rule. 

Canaries

Canaries are scripts that follow the same paths through your infrastructure as clients. They're a powerful tool for monitoring how your customers see your systems and an effective way to discover issues before they become problems. You're billed each time a canary runs. 

Evidently

Evidently is a powerful A/B testing tool. You use it to test new features and monitor their results. Each test generates one or more events, and you write rules to analyze the test results. 

Evidently generates events for both test selection and test results. These events are billed per million. Evidently also generates analysis units from your rules. AWS charges a different rate for these units. 

Real User Monitoring (RUM)

Cloudwatch has tools for real user monitoring. They collect client-side information about your web application and how it performs. You can see page load times, user behaviors, and client-side errors. RUM is billed per 100k events. 

Metric Insights

Metric Insights is a SQL interface for querying your Cloudwatch data. You can query insights via the Cloudwatch console or an API connection. Insights are free via the Cloudwatch console but billed per 1000 metrics analyzed. 

Costs cover ten areas. Each contributes to your monthly cost. The specific costs depend on the region where you run Cloudwatch. 

Is Cloudwatch Free?

Like most AWS service offerings, Cloudwatch has a free tier

Here's a breakdown of Cloudwatch's free tier: 

Metrics

  • Basic Monitoring Metrics, sampled at a 5-minute frequency, are always free.
  • 10 Detailed Monitoring Metrics, sampled at a 1-minute frequency.
  • 1 Million API requests.

Dashboards

Three Dashboards with up to 50 metrics per month.

Alarms

10 Alarm metrics, standard resolution alarms only.

Logs

5GB of Log Data. The free tier includes ingestion, storage, and data scanned for the first 5GB.

Events

All standard events are included. The free tier doesn't include any custom events.

Contributor Insights

1 Contributor Insights rule per month, and the first 1 million log events that match the rule per month

Canary

100 canary runs per month

Evidently

Three million Evidently events and 10 million Evidently analysis units.

Real-User Monitoring

1 million RUM events.

Many AWS applications can operate with the free tier, but Cloudwatch pricing gets more complicated as you add more resources. 

Is Cloudwatch Expensive?

Like all AWS services, Cloudwatch billing is structured to only pay for what you use. So it's hard to say that Cloudwatch is expensive. 

The problem with Cloudwatch billing is it's complicated. Nearly every feature is billed separately, so bills quickly get long and hard to follow. Let's look at how you can manage Cloudwatch costs and keep your bills as simple and straightforward as possible. 

Managing Cloudwatch Costs

Monitor Your Log Volume

Most Cloudwatch users take advantage of its ability to analyze logs. AWS bills you for each gigabyte it ingests, stores, and scans, and these costs can add up quickly. Let's look at an example. 

We'll use the following costs based on the current pricing for the US East region: 

  • $.50 per GB for collection,
  • $.03 per GB for storage
  • $.005 per GB for analysis.

If our application generates 2 GB of logs a day, we're looking at $30 a month or $360 a year for log analysis. Storage will increase by $1.80 a month. Remember, you pay for the logs you store, so your storage costs will increase each month if you never remove any of them. So by the end of the year, storage will cost you more than $20 a month. Meanwhile, your analysis costs won't even break $1 a month. 

These costs seem reasonable, but what happens when one of your applications experiences an issue and logs ten or more GB within a few hours? Suddenly your monthly costs have doubled or tripled. Be mindful of what your applications are logging and which logs you send to Cloudwatch. Also, only archive the logs you need since storage costs will steadily rise each month. 

Cloudwatch log costs are reasonable, but it's worth keeping an eye on how much data your logs produce from month to month. 

It’s also worth checking out ListMetrics - if this works for your use case, these calls can be made through the console for free.

Mind Your Alarms, Dashboards, and Canaries

Cloudwatch charges for the number of metrics associated with an alarm. So, if you set up an alarm based on three metrics, you're charged the cost per metric times three for that alarm. 

Like logs, alarm costs can add up. Inventory your alarms and remove the ones that you don't need. Also, don't set up high-resolution alarms unless you genuinely need to poll a metric more than once per minute. 

When it comes to both dashboards and canaries, you can save by simply deleting unnecessary dashboards and canaries.

Cloudwatch Pricing

In this post, we discussed Cloudwatch pricing. Its pricing model can be complicated, but it's not difficult to manage your costs if you're mindful of what systems you're monitoring and how much data they produce. 

Remember to keep an eye on your costs each month, especially with regard to how much log data your systems and applications are producing. Also perform periodic audits of your alarms and remove metrics that you no longer need. 

Cloudthread can help you manage your costs. Schedule a demo today and see how we can help you with cloud cost transparency.

Make cloud costs a first class metric for your engineering organization.
Copyright © 2024 CloudThread Inc.
All rights reserved.
Copyright © 2024 CloudThread Inc. All rights reserved