CloudWatchで参照できるEC2のメトリックスには、メモリ使用量やボリュームの空き容量など、自分が欲しい情報が含まれていない。これらは、対象のEC2インスタンスでCloudWatchエージェントを実行して、カスタムメトリックスとして取得しなければならない。
以下、CloudWatchエージェントのセットアップの覚え書き。
CloudWatchエージェントのインストール
1 |
# yum install amazon-cloudwatch-agent |
CloudWatchエージェント設定ファイルの作成
AWS CloudWatch Agent Configuration Managerを使って対話的に作成することができるが、
1 |
# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard |
JSON形式の書式が分かっていれば、エディタで作成することも可能だ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# vi /opt/aws/amazon-cloudwatch-agent/bin/config.json { "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "metrics_collected": { "disk": { "measurement": [ "disk_free", "disk_used_percent" ], "metrics_collection_interval": 60, "resources": [ "*" ] }, "mem": { "measurement": [ "mem_used", "mem_used_percent" ], "metrics_collection_interval": 60 } } } } |
IAMロールの作成
IAM Management Console
- Roles
- [Create role]
- Select type of trusted entity: AWS service
- Choose a use case: EC2
- [Next: Permissions]
- [*] CloudWatchAgentServerPolicy
- [Next: Tags]
- Add tags (optional):
- [Next: Review]
- Review
- Role name: CloudWatchAgentServerRole
- Role description:
- Trusted entities: – AWS service: ec2.amazonaws.com
- Policies: CloudWatchAgentServerPolicy
- Permissions boundary: Permissions boundary is not set
- [Create role]
EC2へのIAMロールのアタッチ
EC2 Instances
- 対象のEC2インスタンスを選択
- Actions>Security>Modify IAM role
- IAM role: CloudWatchAgentServerRole
- [Save]
CloudWatchエージェントの起動
1 2 |
# /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 |
実行されているか確認
1 2 3 4 5 6 7 8 9 10 |
# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status { "status": "running", "starttime": "2021-09-06T21:52:46+0000", "configstatus": "configured", "cwoc_status": "stopped", "cwoc_starttime": "", "cwoc_configstatus": "not configured", "version": "1.247347.4" } |
これでClouwWatchエージェントは稼働するようになったので、CloudWatchにメトリックスが送られてきているか確認する。
CloudWatch
- Metrics>All metrics
- Custom Namespaces
- CWAgent
参考サイト
CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスとログを収集するhttps://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html
CloudWatch エージェントにより収集されるメトリクス
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html
新しいCloudWatch AgentでEC2インスタンスのメモリ使用率を監視する – Qiita
https://qiita.com/hayao_k/items/d983177510b3b3a69561