CloudWatch is a service used to monitor your AWS resources and applications that you run on AWS in real time. CloudWatch is used to collect and track metrics that measure your resources and applications.
It displays the metrics automatically about every AWS service that you choose.
You can create the dashboard to display the metrics about your custom application and also display the metrics of custom collections that you choose.
You can also create an alarm to watch metrics. For example, you can monitor CPU usage, disk read and disk writes of Amazon EC2 instance to determine whether the additional EC2 instances are required to handle the load or not. It can also be used to stop the instance to save money.
Dashboards: CloudWatch is used to create dashboards to show what is happening with your AWS environment.
Alarms: It allows you to set alarms to notify you whenever a particular threshold is hit.
Logs: CloudWatch logs help you to aggregate, monitor, and store logs.
Events: CloudWatch help you to respond to state changes to your AWS resources.