1. Metric Types Overview
CloudWatch collects and organizes data into different metric categories. Leveraging all three types helps you:- Track core resource performance
- Gather application-specific insights
- Monitor service consumption against quotas

1.1 Built-in Metrics
CloudWatch automatically publishes metrics for over 70 AWS services. Examples include:- CPUUtilization
- NetworkIn / NetworkOut
- DiskReadBytes / DiskWriteBytes
Built-in metrics have a default 1-minute resolution. To enable 1-second (high-resolution) metrics for supported services, see the CloudWatch detailed monitoring documentation.
1.2 Custom Metrics
When default metrics aren’t enough, you can push any numeric data via the PutMetricData API. Common examples:- Order processing rate
- Cache hit ratio
- Endpoint response time
Custom metrics incur additional charges. Review the CloudWatch pricing page before publishing high-cardinality or high-frequency data.
1.3 Usage Metrics
Usage metrics track how close you are to AWS service quotas (limits). These are crucial for:- Monitoring API call volumes
- Ensuring you don’t exceed resource limits
- Forecasting future capacity needs
2. Practical Example: Monitoring RDS in a VPC
Let’s apply these metric types to an Amazon RDS instance running in a Virtual Private Cloud.
2.1 Built-in RDS Metrics
AWS RDS publishes dozens of metrics by default. Key ones include:2.2 Custom RDS Metrics
Enhance observability with application-specific data:Use the AWS SDK or CLI command
aws cloudwatch put-metric-data to publish custom metrics from your application or monitoring scripts.3. Next Steps
With metrics in place, you can now:- Set up CloudWatch Alarms to get notified on thresholds
- Build CloudWatch Dashboards for real-time visualization
- Integrate with AWS CloudWatch Logs for log monitoring
Links and References
- AWS CloudWatch Metrics and Dimensions
- Amazon RDS Monitoring
- CloudWatch Pricing
- AWS SDK for Go CloudWatch Guide