wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb -P /tmp
dpkg -i -E /tmp/amazon-cloudwatch-agent.deb
Documentation recommends to save the .json to
/opt/aws/amazon-cloudwatch-agent/etc
, but the .json will be auto translate to .toml file. So save the .json to/opt/aws/amazon-cloudwatch-agent/etc-json
instead
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"metrics": {
"namespace": "",
"aggregation_dimensions": [["InstanceType"]],
"append_dimensions": {
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"disk": {
"measurement": ["used_percent"],
"metrics_collection_interval": 60,
"resources": ["/"],
"append_dimensions": {
"Scope": "",
"Contract": ""
}
},
"mem": {
"measurement": ["mem_used_percent"],
"metrics_collection_interval": 60,
"append_dimensions": {
"Scope": "",
"Contract": ""
}
}
}
}
}
- Add policy
CloudWatchAgentServerPolicy
- Assign role to the EC2 instance
## Run every time after updating the config file
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc-json/amazon-cloudwatch-agent.json