はじめに
ウィザードを利用してカスタムメトリクスを取得していたのですが、不要なメトリクスを取得していたので必要なメトリクスのみを取得するためにCloudWatchAgentの設定ファイルを修正する手順を備忘録として残したいと思います。
前提として
・OSはAmazon Linux 2であること
・適切なIAMロールがEC2にアタッチされていること
・CloudWatchAgentがインストール済みであること
・ウィザードを使用してCloudWatchAgentを設定していること
修正前のCloudWatchAgent設定ファイル
ウィザードでCloudWatchAgentの設定を行うと、以下のように設定ファイル/opt/aws/amazon-cloudwatch-agent/bin/config.json
が作成されています。よく見るとディスク使用率で"resources": ["*"]
となっていることがわかります。
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/messages",
"log_group_name": "messages",
"log_stream_name": "{instance_id}",
"retention_in_days": -1
}
]
}
}
},
"metrics": {
"aggregation_dimensions": [
[
"InstanceId"
]
],
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
}
}
}
}
設定ファイルの修正
設定ファイル/opt/aws/amazon-cloudwatch-agent/bin/config.json
を修正していきます。
・ディスク使用率は、ディスク"/"
と"dev"
のみにするように修正
sudo vi /opt/aws/amazon-cloudwatch-agent/bin/config.json
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/messages",
"log_group_name": "messages",
"log_stream_name": "{instance_id}",
"retention_in_days": -1
}
]
}
}
},
"metrics": {
"aggregation_dimensions": [
[
"InstanceId"
]
],
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"/",
"/dev"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
}
}
}
}
CloudWatchAgentの再起動
修正した設定ファイルをロードし、CloudWatchAgentを開始させます。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
さいごに
ウィザードを使用したCloudWatchAgentの設定ファイルを修正することができました。
カスタムメトリクスの料金も意外とかかるので、必要なメトリクスのみを取得するように設定していきたいですね。
参考URL