Amazon CloudWatch | Cloud monitoring | Amazon Web Services

Aaron
Innovation Incubator
4 min readApr 8, 2022

Amazon CloudWatch is a monitoring service for AWS cloud resources and the applications we run on AWS. We can use Amazon CloudWatch to collect and track metrics, collect and monitor log files, and set alarms. Amazon CloudWatch can monitor AWS resources such as Amazon EC2 instances, Amazon DynamoDB tables, and Amazon RDS DB instances, as well as custom metrics generated by our applications and services, and any log files our applications generate. we can use Amazon CloudWatch to gain system-wide visibility into resource utilization, application performance, and operational health. We can use these insights to react and keep our application running smoothly.

To get started with monitoring, we can use Automatic Dashboards with built-in AWS best practices, explore accounts and the resource-based view of metrics and alarms, and easily drill down to understand the root cause of performance issues.

AWS CloudWatch Dashboard

Key Features of AWS CloudWatch

Amazon CloudWatch is a monitoring and management service that provides data and actionable insights for AWS, hybrid, and on-premises applications and infrastructure resources. We can collect and access all our performance and operational data in the form of logs and metrics from a single platform rather than monitoring them in silos (server, network, or database). CloudWatch enables us to monitor our complete stack (applications, infrastructure, and services) and uses alarms, logs, and events data to take automated actions and reduce mean time to resolution (MTTR). This frees up important resources and allows us to focus on building applications and business value.

Some of the key features of CloudWatch include:

Easy collection of logs and metrics

Using CloudWatch, we can collect logs and metrics from our application, infrastructure, and services. Some of the types of logs that can be collected:

  • Logs published by AWS services Currently, over 30 AWS services publish logs to CloudWatch
  • Custom logs Using a CloudWatch agent, we can push logs from our application and on-premises resources.

CloudWatch allows us to collect default metrics from more than 70 AWS services such as Amazon EC2, Amazon DynamoDB, Amazon S3, Amazon ECS, AWS Lambda, etc.

Unified visualization and composite alarms

Amazon CloudWatch provides dashboards that unify data from multiple sources for actionable insights. Some of the key visualization features include:

  • Graph metrics and log data side by side
  • Graphs for cloud resources and applications in a unified view

With Amazon CloudWatch composite alarms, we can combine multiple alarms and reduce alarm noise. If an issue affects several resources in an application, we will receive a single alarm notification for the entire application instead of one for each affected resource. This helps us focus on finding the root cause of operational issues to reduce application downtime.

Logs and metrics correlation

Using CloudWatch, we can correlate log patterns to a specific metric and set alarms on it. This helps us quickly move from diagnosing the problem to understanding the root cause and taking action.

Container monitoring, lambda monitoring, and anomaly detection

Container Insights provides automatic dashboards in the CloudWatch console. These dashboards summarize the compute performance, errors, and alarms by cluster, pod/task, and service. CloudWatch provides automatic dashboards for container and lambda insights. Using anomaly detection, we can create alarms to auto-adjust thresholds based on metrics patterns.

Compliance and Security

Amazon CloudWatch Logs is PCI and FedRamp compliant. Data is encrypted at rest and in transit. we can also use AWS Key Management Service (AWS KMS) encryption to encrypt our log groups for added compliance and security

Pros

  • It allows us to configure alarms to trigger a notification (like sending emails) when any specified condition is rendered satisfied.
  • CloudWatch provides a feature called Events, which is different from alerts. It makes the platform aware of the application’s operational changes as they happen in real-time. An Event can even automatically trigger a specified action.
  • Very advanced visibility and insights about other integrated AWS services.
  • Only pay for what we use.
  • Centralized storage and analysis for logs and metrics from all combined AWS resources and also allows executing queries on this data.

Cons

  • It can only be used for AWS services. There may be some good scripts made by third parties to get metrics for non-AWS servers but they aren’t an “official” solution.
  • Not enough customization of dashboards.
  • No metrics for memory usage by default. A custom metric has to be configured to have this basic indicator monitored.
  • Becomes very expensive at the enterprise level — can be over $50,000 per year.

Reference :

--

--