😎
Amazon Linux AMIにはいろいろ入ってないけど、CloudWatch agentを設定したかった話
Amazon Linux AMIには、amazon-linux-extrasがなかったり、
/var/log/messagesがなかったりでCloudWatch agengtの設定にてこづったので、
同じような思いの方向けの記事です。
なんで2を使用しなかったのか?
Next.js、EC2環境構築してるとき、Node18がAmazon Linux2では使えなかった。
なので、Amazon Linux2023で構築してました。。
対応策
- amazon-linux-extrasがない
sudo amazon-linux-extras install collectd
amazon-linux-extras: command not found
# 下記で解決
sudo yum install collectd
- /var/log/messageがない
sudo yum install rsyslog
sudo systemctl start rsyslog.service
sudo systemctl enable rsyslog.service
rsyslogが入っていないので手動で行い無事/var/log/messagesが作成されます。
CloudWatch Agentの構築
必要なものがそろったので、他の記事にもあるが下記の順番で構築できました。
-
ロール作成
- CloudWatchAgentAdminPolicy
- CloudWatchAgentServerPolicy
こちらのロールを追加してあげる
-
EC2内でエージェントを構築
sudo yum install amazon-cloudwatch-agent
# cloudwatch agent 設定ファイルウィザードで設定ファイルを作成
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
質問事項がたくさん出てきますので、皆様の環境に合わせて進めていただければと思います。
CloudWatch Agentの起動
sudo /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
正常に起動できましたら、
CloudWatch画面の、ロググループ内にmessagesがあり、
デフォルトで設定していればインスタンスID名のログストリームで確認できます。
/var/log/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log
上記でログファイルを確認できるので、
正常に監視できてなさそうでしたらログファイル内でエラーがないか確認できます。
CloudWatch Agentの停止
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop
おわりに
誰かのお役に立てれば幸いです!
Discussion