Amazon CloudWatch provides a reliable, scalable, and flexible monitoring solution that you can start using within minutes. You no longer need to set up, manage, and scale your own monitoring systems and infrastructure.
Amazon CloudWatch enables you to monitor your Amazon Web Services resources in near real-time, including Amazon EC2 instances, Amazon EBS volumes, Elastic Load Balancers, and Amazon RDS DB instances. Metrics such as CPU utilization, latency, and request counts are provided automatically for these Amazon Web Services resources. You can also supply your own logs or custom application and system metrics, such as memory usage, transaction volumes, or error rates, and Amazon CloudWatch will monitor these too.
With Amazon CloudWatch, you can access up-to-the-minute statistics, view graphs, and set alarms for your metric data to help you troubleshoot, spot trends, and take automated action based on the state of your cloud environment. Amazon CloudWatch functionality is accessible via API, command-line tools, the Amazon SDK, and the Amazon Web Services Management Console.
Monitor Amazon EC2
Monitor EC2 instances automatically, without installing additional software:
- Basic Monitoring for Amazon EC2 instances: Seven pre-selected metrics at five-minute frequency and three status check metrics at one-minute frequency, for no additional charge.
- Detailed Monitoring for Amazon EC2 instances: All metrics available to Basic Monitoring at one-minute frequency, for an additional charge. Instances with Detailed Monitoring enabled allows data aggregation by Amazon EC2 AMI ID and instance type.
If you use Auto Scaling or Elastic Load Balancing, Amazon CloudWatch will also provide Amazon EC2 instance metrics aggregated by Auto Scaling group and by Elastic Load Balancer, regardless of whether you have chosen Basic or Detailed Monitoring. Monitoring data is retained for two weeks, even if your Amazon Web Services resources have been terminated. This enables you to quickly look back at the metrics preceding an event of interest to you. Basic Monitoring is already enabled automatically for all Amazon EC2 instances, and you can access these metrics in either the Amazon EC2 tab or the Amazon CloudWatch tab of the Amazon Web Services Management Console, or by using the Amazon CloudWatch API.
Monitor Other Amazon Web Services Resources
Amazon CloudWatch automatically monitors Elastic Load Balancers for metrics such as request count and latency; Amazon EBS volumes for metrics such as read/write latency; Amazon RDS DB instances for metrics such as freeable memory and available storage space; Amazon SQS queues for metrics such as number of messages sent and received; and Amazon SNS topics for metrics such as number of messages published and delivered. No additional software needs to be installed to monitor other Amazon Web Services resources.
Below is a list of all supported Amazon Web Services resources:
-
Compute & Networking
-
Storage & Content Delivery
-
Databases & Analytics
-
Other
-
Compute & Networking
-
No additional software needs to be installed.
- Auto Scaling groups: Seven pre-selected metrics at one-minute frequency, optional and for no additional charge.
- Elastic Load Balancers: Thirteen pre-selected metrics at one-minute frequency, for no additional charge.
- Amazon Route 53 health checks: One pre-selected metric at one-minute frequency, for no additional charge.
-
Storage & Content Delivery
-
No additional software needs to be installed.
- Amazon EBS PIOPS (SSD) volumes: Ten pre-selected metrics at one-minute frequency, for no additional charge.
- Amazon EBS General Purpose (SSD) volumes: Ten pre-selected metrics at one-minute frequency, for no additional charge.
- Amazon EBS Magnetic volumes: Eight pre-selected metrics at five-minute frequency, for no additional charge.
- Amazon Storage Gateways: Eleven pre-selected gateway metrics and five pre-selected storage volume metrics at five-minute frequency, for no additional charge.
- Amazon CloudFront: Six pre-selected metrics at one-minute frequency, for no additional charge.
-
Databases & Analytics
-
No additional software needs to be installed.
- Amazon DynamoDB tables: Seven pre-selected metrics at five-minute frequency, for no additional charge.
- Amazon ElastiCache nodes: Thirty-nine pre-selected metrics at one-minute frequency, for no additional charge.
- Amazon RDS DB instances: Fourteen pre-selected metrics at one-minute frequency, for no additional charge.
- Amazon Elastic MapReduce job flows: Twenty-six pre-selected metrics at five-minute frequency, for no additional charge.
- Amazon Redshift: Sixteen pre-selected metrics at one-minute frequency, for no additional charge.
-
Other
-
No additional software needs to be installed.
- Amazon SNS topics: Four pre-selected metrics at five-minute frequency, for no additional charge.
- Amazon SQS queues: Eight pre-selected metrics at five-minute frequency, for no additional charge.
- Amazon CloudWatch Logs: Six pre-selected metrics at one-minute frequency, for no additional charge.
- Estimated charges on your Amazon Web Services bill: You can also choose to enable metrics to monitor your Amazon Web Services charges. The number of metrics depends on the Amazon Web Services products and services that you use, and these metrics are at no additional charge. Learn more about this option.
For more details about Amazon Web Services resource metrics, please see the Amazon CloudWatch Developer Guide.
Monitor Custom Metrics
Submit Custom Metrics generated by your own applications (or by Amazon Web Services resources not mentioned above) and have them monitored by Amazon CloudWatch. You can submit these metrics to Amazon CloudWatch via a simple API request. All the same Amazon CloudWatch functionality will be available at up to one-minute frequency for your own custom metric data, including statistics, graphs, and alarms.
Monitor and Store Logs
CloudWatch Logs lets you monitor and troubleshoot your systems and applications using your existing system, application, and custom log files.
With CloudWatch Logs, you can monitor your logs, in near real-time, for specific phrases, values or patterns (metrics). For example, you could set an alarm on the number of errors that occur in your system logs or view graphs of web request latencies from your application logs. You can view the original log data to see the source of the problem if needed. Log data can be stored and accessed for as long as you need using highly durable, low-cost storage so you don’t have to worry about filling up hard drives.
CloudWatch Logs classes
There are two log classes:
- Amazon CloudWatch Logs Infrequent Access (Logs-IA) is purpose-built for consolidating all your logs natively on Amazon Web Services Cloud. It offers the managed ingestion, cross-account log analytics, and encryption of CloudWatch Logs Standard, with a low per GB ingestion price. This combination of tailored capabilities and low cost make CloudWatch Logs-IA ideal for ad-hoc querying and after-the-fact forensic analysis.
- Amazon CloudWatch Logs Standard for comprehensive log management intended for real-time monitoring and advanced analytics capabilities like Live Tail, metric extraction, alarming or data protection.
Set Alarms
Set alarms on any of your metrics to receive notifications or take other automated actions when your metric crosses your specified threshold. You can use alarms to detect and shut down Amazon EC2 instances that are unused or underutilized.
You can also use Auto Scaling to add or remove Amazon EC2 instances dynamically based on your Amazon CloudWatch metrics.
Composite alarms
Amazon CloudWatch composite alarms allow you to combine multiple alarms and reduce alarm noise. If an application issue affects several resources in an application, you will receive a single alarm notification for the entire application instead of one for each affected service component or resource. This helps you stay focused on finding the root cause of operational issues to reduce application downtime. You can provide an overall state for a grouping of resources like an application, Amazon Web Services Region, or Availability Zone.
View Graphs and Statistics
With Amazon CloudWatch dashboards, you can create re-usable dashboards which allow you to monitor your Amazon Web Services resources in one location. Metric data is kept for a period of two weeks enabling you to view up to the minute data and also historical data.
Stream Metrics
Amazon CloudWatch Metric Streams enables you to create continuous, near-real-time streams of metrics to a destination of your choice. This makes it easier to send your metrics to your data lake on Amazon Web Services (such as on Amazon S3) and start analyzing usage or performance with tools such as Amazon Athena. Alternatively, you can send CloudWatch metrics to Amazon Web Services Partner solutions using an Amazon Kinesis Data Firehose HTTP endpoint. You can create a continuous, scalable stream including the most up-to-date CloudWatch metrics data to power dashboards, alarms, and other tools that rely on accurate and timely metric data.
Cross-account observability across multiple Amazon Web Services accounts
Cross-account observability in Amazon CloudWatch enables you to monitor and troubleshoot applications that span multiple accounts within an Amazon Web Services region. You can search for log groups stored across multiple accounts from a central view, run cross-account Logs Insights queries and create Contributor Insights rules across accounts to identify top-N contributors generating log entries. You can also visualize metrics from many accounts in a consolidated view, and create alarms that evaluate metrics from other accounts to be notified of anomalies and trending issues. With cross-account observability in CloudWatch, you can view an interactive map of your cross-account applications using ServiceLens with one-click drill downs to relevant metrics, logs, and traces. You can also use this feature to set up cross-account metric stream to include metrics that span across multiple Amazon accounts within an Amazon Web Services region in a single Metric Stream. Cross-account observability in CloudWatch delivers a holistic operational view in just a few clicks without requiring additional data pipelines, helping you save time, effort, and cost in managing your infrastructure and applications.
Monitor and React to Resource Changes
Amazon CloudWatch Events enables you to respond quickly to application availability issues or resource changes, with notifications from Amazon Web Services services delivered in near-real-time. You simply write rules to indicate which events are of interest to your application and what automated action to take when a rule matches an event. You can, for example, stop an Amazon EC2 instance, send an Amazon SNS message, or add a message to an Amazon SQS queue, when an event of interest occurs. You can also emit events on a schedule.
Contributor Insights
Amazon CloudWatch now includes Contributor Insights, which analyzes time-series data to provide a view of the top contributors influencing system performance. Once set up, Contributor Insights runs continuously without needing additional user intervention. This helps developers and operators more quickly isolate, diagnose, and remediate issues during an operational event. Contributor Insights helps you understand who or what is impacting your system and application performance, such as a specific resource, customer account, or API call. This enables you to pinpoint outliers, find the heaviest traffic patterns, and rank the most utilized system processes. You can create Contributor Insights rules to evaluate patterns in structured log events as they are sent to CloudWatch Logs, including logs from Amazon Web Services services like Amazon CloudTrail, Amazon Virtual Private Cloud, Amazon API Gateway, and any custom logs sent by your service or on-premises servers, such as Apache access logs. Contributor Insights will evaluate these log events in real-time and display reports that show the top contributors and number of unique contributors in a dataset. A contributor is an aggregate metric based on dimensions contained as log fields in CloudWatch Logs, such as account-id or interface-id in VPC Flow Logs, or any other custom set of dimensions. You can sort and filter contributor data based on your own custom criteria. Contributor Insights report data can be displayed on CloudWatch dashboards, graphed alongside CloudWatch metrics, and added to CloudWatch alarms.
Synthetics
Amazon CloudWatch Synthetics allows you to monitor application endpoints more easily. It runs tests on your endpoints every minute, 24x7, and alerts you as soon as your application endpoints don’t behave as expected. These tests can be customized to check for availability, latency, transactions, broken or dead links, step by step task completions, page load errors, load latencies for UI assets, complex wizard flows, or checkout flows in your applications. You can also use CloudWatch Synthetics to isolate alarming application endpoints and map them back to underlying infrastructure issues to reduce mean time to resolution. With this new feature, CloudWatch now collects canary traffic, which can continually verify your customer experience even when you don’t have any customer traffic on your applications, enabling you to discover issues before your customers do. CloudWatch Synthetics supports monitoring of your REST APIs, URLs, and website content, checking for unauthorized changes from phishing, code injection and cross-site scripting.
Lambda Insights
CloudWatch Lambda Insights simplifies the collection and aggregation of curated metrics and logs from Amazon Lambda functions. It collects compute performance metrics such as CPU, memory, and network from each Lambda function as performance events, while automatically generating custom metrics used for monitoring and alarming. The performance events are ingested as CloudWatch logs to simplify monitoring and troubleshooting. CloudWatch custom metrics are automatically extracted from these ingested logs and can be further analyzed using CloudWatch Logs Insights’ advanced query language. See the Lambda Insights getting started documentation for more details.
Metrics Insights
Amazon CloudWatch Metrics Insights is a fast, flexible, SQL-based query engine that enables you to identify trends and patterns within millions of operational metrics in near real time. Metrics Insights allows you to gain better visibility on your infrastructure and large-scale application performance with flexible querying and on-the-fly metric aggregations. Metrics Insights queries can be used to create powerful visualizations, helping you proactively monitor and pinpoint issues quickly, and reduce MTTR.
Intended Usage and Restrictions
Your use of this service is subject to the Amazon Web Services Customer Agreement.