LoginSignup
2
1

EC2にCloudWatch エージェントを設定してCloudWatch Logsにログを送信する

Last updated at Posted at 2022-07-15

AutoScalingグループのEC2でログを取りたい

EC2でWEBアプリケーションなんかを運用していて発生するログを取得したいが、AutoScalingなどで運用しているとログが消えてしまうことがあると思います。
そういう場合はCloudWatch Logsを使いますう。すると随時ログをAWSにエクスポートするような形でAWSコンソールからほぼリアルタイムでログを確認できます。

CloudWatch Logs エージェントではない

過去にCloudWatch Logsを利用した際はCloudWatch Logs エージェントを利用していたのですが、2022年現在ではCloudWatch Logs エージェントは非推奨となっています。文字表記が似ていて勘違いしやすいのですが、現在はCloudWatch エージェントを利用することが推奨されています。

非推奨

推奨

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

リンクにあるとおりだが

sudo yum install amazon-cloudwatch-agent

で簡単にインストール可能です

ログ取得の設定

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

こちらのコマンドで設定ウィザードを開始できます。

エージェントを Amazon EC2 インスタンスとオンプレミスサーバーのどちらにインストールするか。

  • サーバーで Linux と Windows Server のどちらが実行されているか。
  • エージェントがログファイルを CloudWatch Logs に送信するようにするか。持っている場合は、既存の CloudWatch Logs エージェント設定ファイルを持っているか。持っている場合、CloudWatch エージェントは、このファイルを使用してサーバーから収集するログを判別できます。
  • エージェントがログファイルを CloudWatch Logs に送信する場合、それらのログファイルを保持する必要がある期間。デフォルト値の -1 にすると、ログアイテムは無期限に保持されるように設定されます。
  • サーバーからメトリクスを収集する場合は、デフォルトのメトリクスセットの 1 つを監視するか、収集するメトリクスのリストをカスタマイズしますか。
  • StatsD または collectd プロトコルを使用して、アプリケーションまたはサービスからカスタムメトリクスを取得しますか。
  • 既存の SSM Agent から移行しますか?

聞かれるのは上記項目です。
設定しなければ行けないのはログを取得するを選択して、ファイルを指定、ロググループ名(わかりやすい任意な名前でOK)を設定します。
他のメトリクス等はわからなければ設定なしでOKです。

エージェントの実行

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

configuration_file_pathnameには設定ファイルのpathを入れます。設定ウィザードから実行したのであれば/opt/aws/amazon-cloudwatch-agent/bin/config.jsonというファイルが出来上がっているはずです。

実行後は
IAMロールなどの権限が問題なければCloudWatch Logsでログが確認できるようになります。

2
1
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
2
1