다음 예제 구성을 사용하여 예제 CloudWatch 에이전트 구성 파일 (config.json)을 생성합니다. 다음 예에서는 CPU 지표 4개, 디스크 지표 2개, 메모리 지표 1개가 Linux 서버의 지표를 수집합니다. 에이전트는 collectd 클라이언트로부터 다음 지표를 수신하도록 설정되어 있습니다.
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"metrics": {
"aggregation_dimensions": [
[
"InstanceId"
]
],
"append_dimensions": {
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"collectd": {
"metrics_aggregation_interval": 60
},
"cpu": {
"measurement": [
"cpu_usage_idle",
"cpu_usage_iowait",
"cpu_usage_user",
"cpu_usage_system"
],
"metrics_collection_interval": 60,
"resources": [
"*"
],
"totalcpu": false
},
"disk": {
"measurement": [
"used_percent",
"inodes_free"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
},
"statsd": {
"metrics_aggregation_interval": 60,
"metrics_collection_interval": 10,
"service_address": ":8125"
}
}
}
}
다음 부트스트랩 스크립트를 Amazon Simple Storage Service(Amazon S3) 위치에 복사합니다.
#!/bin/bash
sudo yum install amazon-cloudwatch-agent -y
sudo amazon-linux-extras install collectd -y
aws s3 cp <s3 path for config.json> /home/hadoop/config.json
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:///home/hadoop/config.json
스크립트는 먼저 CloudWatch 에이전트 collectd 클라이언트를 설치합니다. 그런 다음 Amazon S3에서 로컬 경로 /home/hadoop으로 config.json 파일을 복사합니다. 마지막으로 스크립트는 config.json 파일을 사용하여 CloudWatch 에이전트를 실행합니다.