적용하고자 하는 EC2의 IAM 권한을 부여해야 한다.
필요한 권한은 AmazonEC2FullAccess, AmazonEC2RoleforSSM과 커스텀으로 추가해줄 allow-get-parameter이다.
allow-get-parameter는 권한 추가 > 인라인 정책 생성을 통해 만든다.
서비스는 System Manager로 선택하고 액세스 레벨>읽기에서 GetParameter와 GetParmeters 두가지를 선택해주고 정책 검토를 누른다.
리소스는 모든 리소스 (혹은 선택) 선택 후 정책 이름을 allow-get-parameters로 설정했다.
{
"agent": {
"metrics_collection_interval": 10,
"logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
},
"metrics": {
"namespace": "MyEc2InstanceMetric",
"metrics_collected": {
"cpu": {
"resources": [
"*"
],
"measurement": [
{
"name": "cpu_usage_idle",
"rename": "CPU_USAGE_IDLE",
"unit": "Percent"
},
{
"name": "cpu_usage_nice",
"unit": "Percent"
},
"cpu_usage_guest"
],
"totalcpu": false,
"metrics_collection_interval": 10,
"append_dimensions": {
"customized_dimension_key_1": "customized_dimension_value_1",
"customized_dimension_key_2": "customized_dimension_value_2"
}
},
"disk": {
"resources": [
"/",
"/tmp"
],
"measurement": [
{
"name": "free",
"rename": "DISK_FREE",
"unit": "Gigabytes"
},
"total",
"used"
],
"ignore_file_system_types": [
"sysfs",
"devtmpfs"
],
"metrics_collection_interval": 60,
"append_dimensions": {
"customized_dimension_key_3": "customized_dimension_value_3",
"customized_dimension_key_4": "customized_dimension_value_4"
}
},
"diskio": {
"resources": [
"*"
],
"measurement": [
"reads",
"writes",
"read_time",
"write_time",
"io_time"
],
"metrics_collection_interval": 60
},
"swap": {
"measurement": [
"swap_used",
"swap_free",
"swap_used_percent"
]
},
"mem": {
"measurement": [
"mem_used",
"mem_cached",
"mem_total"
],
"metrics_collection_interval": 1
},
"net": {
"resources": [
"eth0"
],
"measurement": [
"bytes_sent",
"bytes_recv",
"drop_in",
"drop_out"
]
},
"netstat": {
"measurement": [
"tcp_established",
"tcp_syn_sent",
"tcp_close"
],
"metrics_collection_interval": 60
},
"processes": {
"measurement": [
"running",
"sleeping",
"dead"
]
}
},
"append_dimensions": {
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}",
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"aggregation_dimensions": [
[
"ImageId"
],
[
"InstanceId",
"InstanceType"
],
[
"d1"
],
[]
],
"force_flush_interval": 30
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
"log_group_name": "MyEc2InstanceAgentLog.log",
"log_stream_name": "MyEc2InstanceAgentLog.log",
"timezone": "LOCAL"
}
]
}
},
"log_stream_name": "my_log_stream_name",
"force_flush_interval": 15
}
}
CloudWatch > 지표 > 모든 지표 > Metric 클릭
InstanceId, InstanceType 클릭
원하는 인스턴스의 이름을 확인하고 확인할 지표를 클릭
DISK_FREE : 남은 디스크 용량
mem_used : 메모리 사용량
이런식으로 디스크 남은용량을 확인할 수 있다.