Monitor EC2 memory and disk with CloudWatch Agentπ΅π½
DevOps Descent
Posted on October 21, 2024
π CloudWatch Agent Setup on AWS EC2: Collect Memory & Disk Metrics π₯οΈπ
In this guide, you'll learn how to install and configure the CloudWatch Agent on an EC2 instance to collect custom memory and disk usage metrics.
π Step 1: Check EC2 Instance Architecture
- SSH into your EC2 instance.
- Run this command to check the architecture:
uname -m
This will return x86_64
or aarch64
, depending on your instance type.
π§ Step 2: Install CloudWatch Agent
Download the CloudWatch Agent as per the AWS Official Docs. If youβre running Ubuntu 24.04
on x86_64
architecture, hereβs how to proceed:
cd ~
wget https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
sudo apt install ./amazon-cloudwatch-agent.deb
rm -f ./amazon-cloudwatch-agent.deb
Enable the service:
sudo systemctl enable amazon-cloudwatch-agent.service
βοΈ Step 3: Configure the CloudWatch Agent for Custom Metrics
Create a configuration file to specify which metrics to collect. Run:
sudo nano /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_config.json
Copy and paste this JSON:
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"metrics": {
"aggregation_dimensions": [
[
"InstanceId"
]
],
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
]
},
"disk": {
"measurement": [
"disk_used_percent"
],
"resources": [
"/"
]
}
}
}
}
Save and exit.
π Step 4: Restart CloudWatch Agentπ΅π½
Apply the changes by restarting the service:
sudo systemctl restart amazon-cloudwatch-agent.service
β Step 5: Verify the Agent Status
Make sure the CloudWatch Agent is running:
sudo systemctl status amazon-cloudwatch-agent.service
π Step 6: Create EC2 IAM Role
- Create a new IAM role for your EC2 instance.
- Attach the CloudWatchAgentServerPolicy to the role.
- Assign the IAM role to your EC2 instance.
For a detailed step-by-step guide, check the official AWS docs.
π§ Troubleshooting
- Check configuration syntax before restarting the agent.
- View agent logs for any errors:
cat /var/log/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log
π Reference Docs
That's it! π Your EC2 instance should now be sending memory and disk usage metrics to CloudWatch!
Support if you found this helpfulπ
No Money π π»ββοΈ just Subscribe
Do check: https://linktr.ee/DevOps_Descent
Youtube: https://shorturl.at/lVi2G
GitHub Gist: https://tinyurl.com/yc5v4kne
Posted on October 21, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.