From the course: AWS Certified Developer - Associate (DVA-C02) Cert Prep

AWS monitoring services

- [Instructor] Monitoring is a vital process in managing your modern IT infrastructure. It provides visibility on how your systems are doing and helps you forecast performance issues based on the current state of your services. It can help you detect issues on your systems and assist you in troubleshooting errors. You can use certain AWS services to monitor the health of other AWS services that your applications are using. These monitoring services can check the CPU utilization, disk usage, network performance, and other system metrics. You can also track the logs of your applications easily instead of manually logging into the server and checking the logs yourself. In this lecture, we will discuss Amazon CloudWatch, AWS Service Health Dashboard, AWS Personal Health Dashboard, and AWS Health API. Amazon CloudWatch is a suite of AWS services used in monitoring your systems on both AWS as well as in your on-premises network. CloudWatch is basically a metrics repository that collects systems data from AWS services and the custom metrics that you publish. It monitors and analyzes these metrics and notifies you if a certain threshold has been reached. You also have the option to trigger a certain action based on a specific threshold or events that you define. Amazon CloudWatch has several related services that you can choose from. They are CloudWatch Metrics, CloudWatch Logs, CloudWatch Alarms, CloudWatch Events, CloudWatch Dashboards, and many more. The primary task of the CloudWatch Metrics service is to collect the metrics from the AWS services and your custom applications. You can also aggregate the metrics across multiple resources. Most AWS services send metric data to CloudWatch every one minute by default. However, for Amazon EC2, the metrics are only sent every five minutes. You can enable the detailed monitoring feature in Amazon EC2 to view the metrics in a one minute period. CloudWatch Logs is a monitoring service for your logs. It allows you to monitor, store, and access your log files generated from your AWS services or your custom applications. With this service, you can easily analyze, monitor, or even query your log data from various AWS resources and services. You can also do the same thing for your custom applications. Just install a CloudWatch Logs agent to your EC2 instances, and it will automatically collect and publish your application logs to CloudWatch. CloudWatch Alarms is another service in the CloudWatch family. As its name implies, it is primarily used for setting alarms as part of your monitoring process. You can create a CloudWatch alarm that performs one or more actions based on a system metric and a specific threshold. So if a metric breached the threshold that you define, the alarm will be triggered and it will notify you using Amazon SNS. You can also trigger a custom action too, like autoscaling your EC2 instances, sending a billing alert, or invoking a Lambda function. CloudWatch Events is a service that monitors and responds to the system events of your AWS services in near real-time. You can create a CloudWatch event rule to track the changes or the state of your services, and do a particular action. If a certain event occurred and it matches your event rule, the action that you specified will be invoked. You can also use this for a scheduled job that regularly runs for a period of time. For example, you can create a scheduled job using a CloudWatch events rule that invokes a Lambda function on a regular basis, like every hour, every day, every week, or any schedule that you like. A CloudWatch dashboard is just a customizable dashboard in the CloudWatch web console. You can use this board to monitor your resources in a single view, even if those resources are located across different AWS regions. You can also publish and view your custom metrics using the CloudWatch dashboards. And that's a wrap for the different services in the Amazon CloudWatch family. Let's now move on to the AWS Service Health Dashboard. This is basically just a public dashboard that shows the status of all AWS services across the various regions. The AWS Service Health Dashboard contains the most up to the minute intermissions on the service availability of each and every AWS service. You can be notified of any service interruptions by subscribing to an RSS feed. AWS Personal Health Dashboard provides a personalized dashboard that shows the status of the AWS services that you are using. Unlike the Service Health Dashboard, it won't show you the status of all the AWS services. You can only view the services that you're actually using in your account. It also shows the AWS Health events that might affect your applications running on AWS. These events could be a scheduled maintenance of the underlying hardware or infrastructure used by AWS to run your cloud services. You can create alerts and notifications triggered by the changes in the health of your AWS resources. This provides you with a bird's eye view of your AWS services and helps you troubleshoot your systems faster. AWS Health API provides programmatic access to the AWS Health information that appears in your AWS Personal Health Dashboard. The AWS Health API is basically a RESTful web service that you can access via HTTPS and return a response in JSON format. This service is not available by default. You must have a business or enterprise support plan in order for you to use the service.

Contents