You can use cloudwatch agent to collect the Mem and disk useage for the EC2 and alos the apps running logs.
1. Set role
2. Install
wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
--for Ubantu
sudo dpkg -i -E ./amazon-cloudwatch-agent.deb
3. Config file
sudo vi /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
4. Start
sudo systemctl restart amazon-cloudwatch-agent
Check log
tail -f /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
or other method
sudo amazon-cloudwatch-agent-ctl -a stop
amazon-cloudwatch-agent-ctl -a status
sudo amazon-cloudwatch-agent-ctl -a start
Sample of config file
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "cwagent"
},
"metrics": {
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
},
"metrics_collected": {
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 300,
"resources": [
"/"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 300
}
}
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/home/ubuntu/log_sync.log",
"log_group_name": "/apps/webservers/crontab/log",
"log_stream_name": "{ip_address}_{instance_id}",
"timestamp_format": "%d/%b/%Y:%H:%M:%S %z",
"timezone": "Local"
}
]
}
}
}
}
This work is licensed under a CC A-S 4.0 International License.