Help us understand the problem. What is going on with this article?

EC2上で動くアプリケーションのログを、CloudWatchに送信してみる

AmazonLinux2上で動かしているアプリケーションのログをCloudWatchから見れるようにするための手順を自分用にメモ。

ざっくり言うと、EC2にCloudWatch用の権限を持っているIAMロールをアタッチした上で、エージェントをインストールすればOK。

IAMロールの作成

IAMロールの作成画面

ロールの作成ボタンを押下。
image.png

このロールを使用するサービス

EC2を選択。
image.png

アタッチするポリシー

「CloudWatchLogsFullAccess」を選択。
ポリシー名はリンクになっていてクリックするとポリシー画面に遷移するので注意。
image.png

ロールの名前とか説明とか

あとはロール名とかロールの説明を適当に設定して、ロールの作成は完了。

ロールの割り当て

対象のEC2インスタンスにロールを割り当て。
image.png

ロールの設定は以上。

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

エージェントのインストール。
「awslog」ではなく「awslogs」なので注意。

$ sudo yum install awslogs

confのリージョンをバージニア北部リージョン(us-east-1)から東京リージョン(ap-northeast-1)に変更。

$ sudo vim /etc/awslogs/awscli.conf
[plugins]
cwlogs = cwlogs
[default]
region = ap-northeast-1

サービス起動。

$ sudo service awslogsd start

エージェントはデフォルトで「/var/log/messages」というログを送信するように設定されている。
そのため、サービスを起動するとそのログがAWSのコンソールから確認できるようになる。

image.png
※上三つのロググループは別のテストをしていた時の物。(名前を見れば分かる通り)

取得するログの追加

取得対象を設定しているコンフィグファイルを修正する。
今回は[myapp]を追加した。

data_formatの設定方法は以下のサイト参照。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AgentReference.html

$ sudo vim /etc/awslogs/awslogs.conf
~略~
[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /var/log/messages
[myapp]
datetime_format = %Y-%m-%d %H:%M:%S
file = ファイルのパス
buffer_duration = 5000
log_stream_name = {hostname}
initial_position = start_of_file
log_group_name = /var/log/myapps

追加したログが表示される。
image.png

おわり。
もっと細かい情報はamazonの公式サイト参照(丸投げ)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away