1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Watch Agentで EC2 のメモリ使用率を送信する(実践ノート)

Posted at

AWS EC2 の状態監視をしようと思ったとき、CPU 使用率なんかはインスタンスのコンソールでデフォルトで見れるようになっていますが、 メモリ監視はデフォルトでは取れない(EC2標準メトリクスにメモリはない)ので、ひと手間必要です。

この記事では、AWS Cloud Watch Agent を使うことで、EC2 インスタンスのメモリ使用率をモニターできるようにする手順を解説します。

対象:LinuxのEC2(Amazon Linux/Ubuntuなど)

ゴール:mem_used_percent を CloudWatch に送り、90%超でSNS通知するアラームを作る

概要

  1. IAMロールを作って EC2 にアタッチ(CloudWatchAgentServerPolicy)
  2. CloudWatch Agent をインストール
  3. 設定ファイルmem_used_percent を送信
  4. Agent を起動

0. 前提確認

  • EC2 に管理者権限で入れること(SSH or Session Manager)

1. IAMロールを作成してインスタンスに付与

AWS コンソールから

  1. IAM → ロール → ロールを作成
    • 信頼されたエンティティ:AWS サービス
    • ユースケース:EC2
  2. 許可ポリシー
    • CloudWatchAgentServerPolicy
  3. ロール名(例):cwagent-ec2-role
  4. EC2 → インスタンス → 対象インスタンス → Actions → Security → Modify IAM role
    • cwagent-ec2-role を選択して更新

以下は EC2 の対象インスタンスでの作業になります。

2. CloudWatch Agent をインストール

Amazon Linux 2

sudo yum install -y amazon-cloudwatch-agent

Amazon Linux 2023

sudo dnf install -y amazon-cloudwatch-agent

Ubuntu/Debian

sudo apt-get update
sudo apt-get install -y amazon-cloudwatch-agent

3. 設定ファイルの作成(mem_used_percent を送る設定)

sudo mkdir -p /opt/aws/amazon-cloudwatch-agent/etc
sudo tee /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json >/dev/null <<'JSON'
{
  "agent": {
    "metrics_collection_interval": 60,
    "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
  },
  "metrics": {
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "mem": {
        "measurement": ["mem_used_percent"],
        "metrics_collection_interval": 60
      }
    }
  }
}
JSON

4. Agent を起動して送信開始

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
  • ログは /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log 二出力されます。

CloudWatch コンソール → MetricsCWAgentInstanceId dimension に mem_used_percent が出ていればOKです。


簡単ですが、以上になります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?