AWS Cloudwatch monitors the various AWS services and the applications that run on AWS. Cloudwatch collects various metrics about different services, for example, it can log CPU utilization for EC2 or RDS instances or disk read write for EC2 instances. Cloudwatch also have alarms that is triggered when an event happens, for example, an alarm can be set when the CPU utilization for a RDS instance to go over 90%.
Cloudwatch also have rules that can automatically trigger targets like lambda functions, sns topic or certain actions within EC2 instances. The trigger can run on a given date and time, a rate (for example, 5 time every hour) or at an event (for example, when a EC2 snapshot is taken).