With Amazon CloudWatch, there is no up-front commitment or minimum fee; you simply pay for what you use. You will be charged at the end of the month for your usage.
Free tier
You can get started with Amazon CloudWatch for free. Most AWS Services (EC2, S3, Kinesis, etc.) vend metrics automatically for free to CloudWatch. Many applications should be able to operate within these free tier limits. You can learn more about AWS Free Tier here.
Metrics | Basic Monitoring Metrics (at 5-minute frequency) 10 Detailed Monitoring Metrics (at 1-minute frequency) 1 Million API requests (not applicable to GetMetricData and GetMetricWidgetImage) |
---|---|
Dashboard | 3 Dashboards for up to 50 metrics per month |
Alarms | 10 Alarm metrics (not applicable to high-resolution alarms) |
Logs | 5GB Data (ingestion, archive storage, and data scanned by Logs Insights queries) |
Events | All events except custom events are included |
Contributor Insights | 1 Contributor Insights rule per month The first one million log events that match the rule per month |
Synthetics | 100 canary runs per month |
Paid tier
There is no up-front commitment or minimum fee. You simply pay for what you use and will be charged at the end of the month for your usage.
Note: Pricing varies by region. Estimate your monthly bill using the AWS Pricing Calculator.
-
Metrics
-
Dashboards
-
Alarms
-
Logs
-
Events
-
Contributor Insights
-
Canaries
-
Metrics
-
-
Dashboards
-
-
Alarms
-
-
Logs
-
-
Events
-
-
Contributor Insights
-
-
Canaries
-
Pricing examples
Note: Pricing values displayed here are meant to be examples only. Please refer to pricing tabs for most current pricing information for your respective region(s).
-
Example 1 - EC2 Detailed Monitoring
The number of metrics sent by your EC2 instance as detailed monitoring is dependent on the EC2 instance type - see Instance Metrics documentation for details. This example assumes 7 metrics, which covers the most commonly used instance types.
If your application runs on 10 Amazon EC2 instances 24x7 for a 30-day month, and you enable EC2 Detailed Monitoring on all instances, your charges would be as follows:
Total number of metrics = 7 metrics per instance * 10 instances = 70 metrics
Monthly CloudWatch Metrics Charges @$0.30 per custom metric = 70 * $0.30 = $21
Monthly CloudWatch charges = $21 per month
Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.
-
Example 2 - Custom metrics
If your application runs on 51,000 Amazon EC2 instances 24x7 for a 30-day month, and you published 5 custom metrics via the PutMetricData API, your charges would be as follows:
Total number of metrics = 5 metrics per instance * 51,000 instances = 255,000 metrics
First 10,000 custom metrics @$0.30 per metric = 10,000 * $0.30 = $3,000
10,001 to 250,000 custom metrics @$0.10 per metric = 240,000 * $0.10 = $24,000
250,001 to 255,000 custom metrics @0.05 per metric = 5000 * $0.05 = $250
Monthly CloudWatch custom metrics charges = $3000 + $24000 + $250 = $27,250 per monthTotal number of API requests = 51,000 instances * (43,200 minutes/5 minutes) = 440,640,000 requests
First 1,000,000 API requests = $0
1,000,001 to 440,640,000 API requests = 439,640,000/1,000 * $0.01 = $4,396.40Monthly CloudWatch charges = $27,250 + $4,396.40 = $31,646.40 per month
-
Example 3 - Monitoring with logs
If you are monitoring HTTP 2xx, 3xx & 4xx response codes using web application access logs 24x7 for one 30-day month, by sending 1GB per day of ingested log data, monitoring for HTTP responses, and archiving the data for one month, your charges would be as follows:
Monthly Ingested Log Charges
Total log data ingested = 1GB * 30 days = 30GB
0 to 5GB = $0
5 to 30GB = $0.50 * 25 = $12.50Monthly Monitoring Charges
3 CloudWatch Metrics @$0 = 3 * $0 = $0Monthly Archived Log Charges (assume log data compresses to 6GB)
0 to 5GB = $0
5GB to 6GB = $0.03 * 1 = $0.03Monthly CloudWatch Charges = $12.50 + $0 + $0.03 = $12.53
-
Example 4 - Monitoring VPC flow logs delivered to CloudWatch logs
If you are monitoring VPCs that send 72TB of ingested VPC flow logs to CloudWatch logs per month and archiving the data for one month, your charges would be as follows:
Monthly Log Ingestion Charges
0 to 10TB @$0.50 per GB = 10 * 1,024 * $0.50 = $5,120.00
10TB to 30TB @$0.25 per GB = 20 * 1,024 * $0.25 = $5,120.00
30TB to 50TB @$0.10 per GB = 20 * 1,024 * $0.10 = $2,048.00
50TB to 72TB @$0.05 per GB = 22 * 1024 * $0.05 = $1,126.40
Total Ingestion Charges = $5,120 + $5,120 + $2,048 + $1126.40 = $13,414.40Monthly Log Archival Charges (Assume log data compresses to 30TB)
30TB @ $0.03 per GB = 30 * 1024 * 0.03 = $921.6Monthly CloudWatch Charges = $13,414.40 + $921.6 = $14,336
-
Example 5 – Monitoring VPC flow logs delivered to S3
If you are monitoring VPCs that send 72TB of ingested VPC flow logs directly to S3 per month and archiving the data for one month, your charges would be as follows:
Monthly Log Ingestion Charges
0 to 10TB @$0.25 per GB = 10 * 1,024 * $0.25 = $2,560.00
10TB to 30TB @$0.15 per GB = 20 * 1,024 * $0.15 = $3,072.00
30TB to 50TB @$0.075 per GB = 20 * 1,024 * $0.075 = $1,536.00
50TB to 72TB @$0.05 per GB = 22 * 1024 * $0.05 = $1,126.40
Total Ingestion Charges = $2,560 + $3,072 + $1,536 + $1126.40 = $8,294.40Monthly Log Archival Charges (Assume log data compresses to 6.5TB)* *
6.5TB @ $0.023 per GB = 6.5 * 1024 * 0.023 = $153.01Monthly Charges = $8,294.40 + $153.01 = $8,447.41
-
Example 6 - Alarming with Anomaly Detection
If you enable Amazon CloudWatch Anomaly Detection on 10 standard resolution metrics per month and only want to alarm on 5 of those metrics, you will create 5 standard resolution anomaly detection alarms. Anomaly Detection is available with standard resolution alarms only. Your monthly bill is calculated as follows:
Total number of standard resolution anomaly detection alarms = 5
Alarms are billed based on the number of metrics per alarm. For every anomaly detection alarm, there are three standard resolution metrics per alarm. One is the actual metric being evaluated, the second is the upper bound of expected behavior, and the third is the lower bound of the expected behavior.
One standard resolution anomaly detection alarm = $0.10 * 3 standard resolution metrics per alarm = $0.30 per month
Five standard resolution anomaly detection alarms = $0.30 per standard resolution anomaly detection alarm * 5 alarms = $1.50 per month
Monthly CloudWatch charges = $1.50 per month
Pricing values displayed here are based on US East Regions. Please refer to pricing tabs for most current pricing information for your respective region(s). Anomaly Detection is currently available in all commercial AWS Regions.
-
Example 7 - Container Insights for Amazon ECS
If you monitor 1 container cluster with 10 Amazon EC2 instances, 50 average running containers, 20 unique task names, and 5 unique service names, your costs would be as follows:
CloudWatch metrics
There is a predefined number of metrics reported for every cluster, task, and service. Every cluster reports 8 metrics; every task reports 6 metrics; and every service reports 11 metrics. CloudWatch metrics are aggregated by task and service using their name. Increasing the count of running instances will not impact the count of CloudWatch metrics generated. All CloudWatch metrics are prorated on an hourly basis. This example assumes that data points are reported for the entire month.Monthly number of CloudWatch metrics per cluster= 8 cluster metrics + (6 task metrics * 20 unique task names) + (11 service metrics * 5 unique service names)= 8 + (6 * 20) + (11 * 5)= 183 CloudWatch metricsMonthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 183 metrics = $54.90Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.CloudWatch Logs
For Amazon ECS, on average, 13 KB are ingested per metric per hour. The cost of logs ingested will vary based on names used for your cluster, container, pod, service, instance names, labels, etc.Monthly GB of CloudWatch Logs ingested = (13 KB/1024/1024) GB * 183 metrics * 730 average hours in a month = 1.66 GB per monthMonthly ingested logs costs = $0.50 per GB of ingested logs * 1.66 GB of performance events as CloudWatch Logs = $0.83 per monthMonthly CloudWatch costs = $54.90 + $0.83 = $55.73 per month.
Pricing values displayed here are based on US East (N. Virginia) AWS Regions. Please refer to the pricing information for your Region. -
Example 8 - Container Insights for Amazon EKS and Kubernetes (k8s)
If you monitor 1 container cluster with 10 nodes or Amazon EC2 instances, 20 pods, 5 unique service names, and 1 namespace, your charges would be as follows:
CloudWatch metrics
There is a predefined number of metrics reported for every cluster, node, pod, and service. Every cluster reports 24 metrics; every node reports 8 metrics; every pod reports 9 metrics; and every service reports 6 metrics. CloudWatch metrics are aggregated by pod, service, and namespace using their name. Increasing the count of running instances will not impact the count of CloudWatch metrics generated. All CloudWatch metrics are prorated on an hourly basis. This example assumes that data points are reported for the entire month.Monthly number of CloudWatch metrics per cluster= 24 cluster metrics + (10 nodes or EC2 instances * 8 node metrics) + (20 unique pod names * 9 pod metrics * 1 namespace) + (5 unique service names * 6 service metrics * 1 namespace) + (1 unique namespace * 6 namespace metrics)= 24 + (10 * 8) + (20 * 9 * 1) + (5 * 6 * 1) + (1 * 6) = 320 CloudWatch metricsMonthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 320 metrics = $96Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.CloudWatch Logs
For Kubernetes, on average, 38 KB are ingested per metric per hour. The cost of logs ingested will vary based on names used for your cluster, container, pod, service, instance names, labels, etc.Monthly GB of CloudWatch Logs ingested = (38 KB/1024/1024) GB * 320 metrics * 730 average hours in a month = 8.47 GB per month
Monthly ingested logs costs = $0.50 per GB of ingested logs * 8.47 GB of performance events as CloudWatch Logs = $4.23 per monthMonthly CloudWatch costs = $96 + $4.23 = $100.23 per month.Pricing values displayed here are based on US East (N. Virginia) AWS Regions. Please refer to the pricing information for your Region. -
Example 9 - Monitoring your application with ServiceLens
If you monitor an application that contains APIs (using Amazon API Gateway), 1 container cluster with 10 nodes or Amazon EC2 instances, 20 pods, 5 unique service names, and 1 namespace, 3 Lambda functions, and 1 DynamoDB table, your charges would be as follows:
CloudWatch metrics
APIs, Lambdas, and DynamoDB: Metrics from these AWS services are available with no additional charge.Kubernetes: As described in Example 7, there is a predefined number of metrics reported for every cluster, node, pod, and service (to learn more, see Kubernetes on AWS). Every cluster reports 24 metrics; every node reports 8 metrics; every pod reports 9 metrics; and every service reports 6 metrics. CloudWatch metrics are aggregated by pod, service, and namespace using their name. Increasing the count of running instances will not impact the count of CloudWatch metrics generated. All CloudWatch metrics are prorated on an hourly basis. This example assumes that data points are reported for the entire month.
Monthly number of CloudWatch metrics per cluster
= 24 cluster metrics + (10 nodes or EC2 instances * 8 node metrics) + (20 unique pod names * 9 pod metrics * 1 namespace) + (5 unique service names * 6 service metrics * 1 namespace) + (1 unique namespace * 6 namespace metrics)
= 24 + (10 * 8) + (20 * 9 * 1) + (5 * 6 * 1) + (1 * 6) = 24 + 80 + 180 + 30 + 6 = 320 CloudWatch metricsMonthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 320 metrics = $96. Once you exceed 10,000 total metrics then volume pricing tiers will apply - see metrics pricing table for details.
CloudWatch Logs
APIs and Lambdas: For API Gateway Logs or Lambda Logs ingested in CloudWatch, the Monthly ingested logs costs = $0.50 per GB of ingested logs * 50 GB of performance events as CloudWatch Logs = $25 per month.AWS X-Ray
If the application receives 2,000 incoming requests per hour and you’re using a 10% sampling rate, then your cost would be calculated as follows:Traces Recorded
Traces Recorded per Month = 2,000 requests per hour x 24 hours x 31 days x 10% = 148,800 traces
Billable Traces Recorded per Month = 148,800 traces - 100,000 traces in free tier = 48,800 traces
Monthly Traces Recorded Charges = 48,800 traces * $0.000005 = $0.24In addition, let’s assume you make 100 queries scanning each hour of data captured (200 traces), and retrieve the full trace data for 50 traces per query.
Traces Retrieved and Scanned
Traces Scanned per Month = 100 queries x 200 traces per hour x 31 days = 620,000 traces
Traces Retrieved per Month = 100 queries x 50 traces per query x 31 days = 155,000 traces
Total Traces Retrieved/Scanned per Month = 155,000 traces + 620,000 traces = 775,000 traces
Since the first 1,000,000 traces retrieved or scanned each month are free with AWS X-Ray, it costs $0 to retrieve and scan 775,000 traces.Your total cost per month for using AWS X-Ray equals $0.24 for traces recorded.
Monthly Monitoring costs = $96 + 25+ $4.23 + $0.24 = $125.47 per month.
Pricing values displayed here are based on US East (N. Virginia) AWS Regions. Please refer to the pricing information for your Region.
-
Example 10 - Monitoring with Contributor Insights
If you are monitoring Amazon VPC Flow Logs with a volume of 225 billion Log Events to CloudWatch Logs per month, and you have three Contributor Insights rules that match 100 percent, 50 percent, and 10 percent of these log events respectively, your charges will be as follows:
Rule Charges
Total number of rules = 3 rules
First Contributor Insights rule = $0
2 Contributor Insights rules @ $0.50 per rule = $1.00Matched Log Events
Total Number of Matched Log Events = (225B * 100%) + (225 * 50%) + (225B * 10%) = 225B + 112.5B + 22.5B = 360 Billion
0 to 1 million matched log events = $0
1M to 360B matched log events = 359,999M * $0.02 = $7,200Monthly CloudWatch Charges = $1.00 + $7,200 = $7,201
-
Example 11 – End user monitoring with Synthetics
If you create 5 canaries that run once every 5 minutes, add alarms on 5 of the metrics generated by the canaries, and store the data for 1 month, your monthly bill will be calculated as follows:
5 canaries * 12 runs per hour * 24 hours per day * 31 days per month = 44,640 canary runs
Monthly CloudWatch charges
Canary run charges = 44,640 canary runs * $0.0012 per canary run = $53.57 per month
5 alarms per month = 5 * $0.10 = $0.50 per month
Total monthly CloudWatch charges = $53.57 + $0.50 = $54.07Monthly additional charges
Each canary run also runs an AWS Lambda function and writes logs and results to CloudWatch Logs and the designated Amazon S3 bucket. For details on AWS service pricing such as AWS Lambda, Amazon S3, and CloudWatch Logs, see the pricing section of the relevant AWS service detail pages.
Lambda charges = requests charges + duration charges
= requests from 44,640 runs * $0.2 per 1,000,000 + duration of 20 seconds * 44,640 canary runs * 1 GB memory size * $0.000016667 per GB per sec
= $0.01 + $14.88 = $14.89 per monthCloudWatch Logs charges = collection charges + storage charges
= collection of 0.00015 GB per run * 44,640 runs * $0.5 per GB + storage of 0.00015 GB per run* 44,640 canary runs * $0.03 per GB per month
= $3.35 + $0.20 = $3.55 per monthS3 charges = put request charges + storage charges
= put requests of 44,640 runs * $0.005 per 1,000 requests + storage of 0.001 GB per run * 44,640 canary runs * 1 month * $0.023 per GB per month
= $0.22 + $1.03 = $1.25 per monthAdditional monthly charges = $14.89 + $3.55 + $1.25 = $19.69
Total monthly charges = $54.07 + $19.69 = $73.76
Pricing values displayed here are based on US East Regions. Please refer to pricing tabs for most current pricing information for your respective region(s).
-
Example 12 – Alarming with composite alarms
Composite alarms can combine any type of CloudWatch alarm. Metric alarms are billed based on the number of metrics per alarm, while composite alarms are billed per alarm unit. One composite alarm costs $0.50 per month, regardless of the number of metric alarms it combines.
If you create one composite alarm that combines four standard resolution metric alarms, your monthly bill is calculated as follows:
Four standard resolution alarms = $0.10 per alarm metric * 4 = $0.40 per month
One composite alarm = $0.50 per month
Monthly CloudWatch charges = $0.40 + $0.50 = $0.90 per month
-
Example 13 – S3 Request Metrics
Amazon S3 Request Metrics allow you to quickly identify and act on operational issues. There are 16 available metrics that you can configure filters for, identified by a shared prefix or object tag, and only monitor a subset of objects. The filters align your metrics to specific business applications, workflows, or internal organizations. The activity on the bucket determines which metrics are generated, so all 16 metrics may not necessarily be published every hour of the day.
For example, let’s take an application that performs a backup routine every day and completes within a single hour. Because the application only makes PUT requests to S3, a subset of metrics, such as AllRequests, PutRequests, TotalRequestLatency, and BytesUploaded, are generated; metrics related to other types of operations, such as DeleteRequests, SelectRequests, and SelectReturnedBytes, would not be generated. For our example, we will assume 8 out of the 16 available metrics are generated – detailed list of metrics available in Amazon S3 documentation. Assuming the routine starts and finishes within the same hour, the charges to generate and publish these metrics to CloudWatch are:
Total number of metrics = 8
Total hours of metrics published = 1 hour per day for 30 days (assuming example month has 30 days) = 1 * 30 = 30 hours per month
Total hours per month = 30 days * 24 hours = 720 hours per month
First 10,000 custom metrics @$0.30 per metric = $0.30 * 8 (number of metrics) * 30 (metric hours per month) per 720 (hours per month) = $0.10 per month.
Monthly CloudWatch charges for S3 Request Metrics = $0.10 per month
Once you exceed 10,000 total metrics then volume pricing tiers will apply based on the pricing table above.
-
Example 14 – Monitoring with Lambda Insights
If you monitor 1 Lambda function that is invoked 1M times per month, your costs would be as follows:
CloudWatch metrics
There is a predefined number of metrics reported for every function. Every function reports 8 metrics. CloudWatch metrics are aggregated by function using their name. All CloudWatch metrics are prorated on an hourly basis. If your function is invoked less than once per hour, your function will only be billed for the hours that it is invoked.Monthly number of CloudWatch metrics per function
= 8 metrics * 1 function
= 8 CloudWatch metrics
Monthly CloudWatch metrics costs = $0.30 per metric for first 10,000 metrics * 8 metrics = $2.40
Once you exceed 10,000 total metrics in your account then volume pricing tiers will apply. See metrics pricing table for details.CloudWatch Logs
A single log event is generated for each function invoke. The size of each log event is approximately 1.1 KB.Monthly GB of CloudWatch Logs ingested = (1.1 KB/1024/1024) GB * 1,000,000 invokes per month = 1.05 GB per month
Monthly ingested logs costs = $0.50 per GB of ingested logs * 1.05 GB of performance events as CloudWatch Logs = $0.52 per month
Monthly CloudWatch costs = $2.40 + $0.52 = $2.92 per month
There are no minimum fees or mandatory service usage. If the function is not invoked, you do not pay.
Pricing values displayed here are based on the US East (N. Virginia) AWS Region. Please refer to the pricing information for your Region.
Pricing calculator
Additional pricing resources
Easily calculate your monthly costs with AWS
Additional resources for switching to AWS
Learn more about Amazon CloudWatch