(CloudWatchエージェント利用) CloudWatchで、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/download-cloudwatch-agent-commandline.html

 

wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

 

sudo rpm -U ./amazon-cloudwatch-agent.rpm 

 

※上記コマンドを実行すると、

create group cwagent, result: 0
create user cwagent, result: 0

となるが、これで正常らしい。

 

CloudWatch エージェントで使用する IAM ロールおよびユーザーを作成する

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent-commandline.html

1.「IAM コンソール」ー「ロール」ー「ロールの作成」ー「EC2」

[CloudWatchAgentServerPolicyにチェック→次へ

→ロール名:CloudWatchAgentServerRole で作成

 

2. IAM ユーザーを作成

IAMコンソールー[ユーザー]ー[ユーザーの追加]

ー「プログラムによるアクセス」ー「既存のポリシーを直接アタッチする」

→「CloudWatchAgentServerPolicy」にチェック

→次へ、次へでユーザーを作成し、アクセスキーとシークレットキーをメモる。

 

CloudWatch エージェントの AmazonCloudWatchAgent プロファイルを作成

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html

1.次のコマンドを実行

sudo aws configure --profile AmazonCloudWatchAgent

2.アクセスキーとシークレットキーを聞かれるので、上記でメモしたものを入力

3.Default region Nmae: ap-northeast-1

4.Default output format:text

 

(EC2 インスタンスへのインストール) IAM ロールのアタッチ

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html

 

EC2 マネジメントコンソール画面で対象の EC2 インスタンスを選び、作成したロールを割り当ててください。 下記の操作にて、 IAM ロールの割り当て/置換ができます。

アクション>インスタンスの設定> IAM ロールの割り当て/置換

→「CloudWatchAgentServerRole」を選択

 

 

CloudWatch エージェント設定ファイルを作成する

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file.html

 

1.以下でウィザード実行

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

 

(難しそうな質問抜粋)

which user are you planning to run the agent?

→cwagent

Do you want to turn on StatsD daemon?

→no

Do you want to monitor metrics from CollectD?

->no

Do you want to monitor any host metrics? e.g CPU, memory, ect.

->yes

Do you want to monitor cpu metrics per core? Additional CloudWatch charges may apply.

->no

Do you want to add ec2 dimensions (ImageID, InstanceID, InstaceType AutoScalingGroupName) into all of your metrics is the info is available?

->yes

Whoud you like to collect your metrics at high resolution (途中略)

->60s

Which default metrics config do you want?

->Standard

Are you satisfied with the above config? (途中略)

->yes

Do you have any existing CloudWatch Log Agent () configuration file to import for migration?

->no

Do you want to monitor any log files?

->no

Do you want to store the config in the SSM parameter store?

->no

 

 

2.ウィザードが終わると以下に定義ファイルが作成される

/opt/aws/amazon-cloudwatch-agent/bin/

 

コマンドラインを使用して CloudWatch エージェントを起動する

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html

 

1.起動

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s

 

以下はここのサイトがよくまとまっている

seq-blog.com

 

 

以上