Skip to main content

01. CloudWatch – Metrics & Alarms

Amazon CloudWatch is a monitoring and observability service for AWS resources and applications. It provides real-time visibility into performance, utilization, and operational health.


🔹 CloudWatch Metrics

Metrics are variables to monitor (e.g., CPUUtilization, NetworkIn, Billing).
They represent data points collected over time, each with a timestamp.


🧠 Key Concepts

Metric SourceExample MetricsDefault FrequencyNotes
EC2 InstancesCPUUtilization, NetworkIn, StatusCheckFailed5 min1 min with Detailed Monitoring (extra cost)
EBS VolumesVolumeReadOps, VolumeWriteOps5 minDisk I/O metrics
S3 BucketsNumberOfObjects, AllRequests, BucketSizeBytesDailyRequest & storage metrics
RDS DatabasesCPUUtilization, FreeStorageSpace, ReadIOPS, WriteIOPS1 minDB performance metrics
Lambda FunctionsInvocations, Errors, Duration1 minFunction-level metrics
Billing (us-east-1 only)EstimatedCharges6 hrAccount-wide billing cost
Service LimitsAPI usage metricsvariesHelps track service quotas
Custom MetricsUser-defined metricscustomPush via API or SDK

💡 Dashboards:
You can create CloudWatch Dashboards to visualize multiple metrics in a single view.


🔹 CloudWatch Alarms

Alarms are used to trigger actions or notifications based on metric thresholds.

⚙️ Alarm Actions

Action TypeDescription
Auto ScalingScale EC2 instances in/out automatically.
EC2 ActionsStop, terminate, reboot, or recover an instance.
SNS NotificationsSend alerts via email/SMS through an SNS topic.

🔔 Example Use Cases

  • Trigger alert if EC2 CPUUtilization > 90%
  • Send SNS notification if EstimatedCharges > $20
  • Automatically add EC2 instances when average CPU load is high

🧩 Alarm Configuration

SettingDescription
StatisticAverage, Minimum, Maximum, Sum, Percentile
PeriodTime frame for each evaluation (1 min, 5 min, etc.)
ThresholdValue that triggers alarm
Evaluation PeriodsNumber of consecutive periods before alarm triggers
ComparisonGreaterThanThreshold, LessThanThreshold, etc.

Alarm States

StateMeaning
OKMetric within normal threshold
ALARMMetric has crossed threshold
INSUFFICIENT_DATANot enough data to evaluate state

🧾 Example: Billing Alarm

  1. Go to CloudWatch → Alarms → Create alarm
  2. Choose metric: Billing → Total Estimated Charge
  3. Set threshold: e.g., >$10
  4. Add SNS notification to receive alert
  5. Review and create alarm

✅ Summary

  • CloudWatch Metrics: Monitor key performance indicators across AWS.

  • CloudWatch Alarms: Automate notifications and actions.

  • Dashboards: Centralize monitoring.

  • Custom Metrics: Track your own application data.

  • To create billing alram go to us-east-1