次に例示する設定で、サンプル CloudWatch エージェント設定ファイル (config.json) を作成します。ここに示す例では、4 つの CPU メトリクス、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 クライアントをインストールします。続いて、config.json ファイルを Amazon S3 からローカルパス /home/hadoop へコピーします。 最後に、スクリプトで CloudWatch エージェントをconfig.json ファイルによって実行します。