[AWS] EC2/CWAgentでカスタムメトリックスを収集する

CloudWatchで参照できるEC2のメトリックスには、メモリ使用量やボリュームの空き容量など、自分が欲しい情報が含まれていない。これらは、対象のEC2インスタンスでCloudWatchエージェントを実行して、カスタムメトリックスとして取得しなければならない。

以下、CloudWatchエージェントのセットアップの覚え書き。

CloudWatchエージェントのインストール

CloudWatchエージェント設定ファイルの作成

AWS CloudWatch Agent Configuration Managerを使って対話的に作成することができるが、

JSON形式の書式が分かっていれば、エディタで作成することも可能だ。

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エージェントの起動

実行されているか確認

これで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