概要
EC2ではCPUやNetwork利用状況などのメトリクスはデフォルトで取得されており、グラフでも確認可能な状態になっていますが、Memoryに関しては取得されていません。
セットアップすれば取得できるようになるため、本手順ではそのセットアップ手順を記載します。
環境
次のOSにて手順を確認しています。
- Amazon Linux 2023
- Ubuntu 24.04
前提条件
CloudWatchAgentServerPolicy
というIAMポリシーを持つIAMロールを、EC2にアタッチ済みであること。
手順はこちらが参考になると思います。
手順
CloudWatchAgentインストール
Memory利用状況をCloudWatchにて取得するためには、CloudWatchAgent
が必要になるため、そのインストールを行います。
Amazon Linux 2023の場合
$ sudo yum install amazon-cloudwatch-agent
Ubuntu の場合
$ curl -LO https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
$ sudo dpkg -i -E ./amazon-cloudwatch-agent.deb
CloudWatchAgent設定&起動
CloudWatchAgentの設定を行います。
sudo vi /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
ファイルに記載するサンプルが下記になります。
ここではMemory利用量とMemory利用率を取得しています。
その他にも様々なメトリクスが取得でき、その一覧はこちらを参照下さい。
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"metrics": {
"metrics_collected": {
"mem": {
"measurement": [
"mem_used",
"mem_used_percent"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
CloudWatchAgentを起動します。
$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s
起動確認
$ sudo systemctl status amazon-cloudwatch-agent
対象のEC2インスタンス画面にて、Memory利用量と利用率のグラフが表示され、メトリクスが取得できていることを確認できたら、作業は完了です。
参考