2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2(Amazon Linux) に構築したアプリのログを CloudWatch に転送する

Last updated at Posted at 2018-09-17

事前準備

EC2 から CloudWatch へアクセスできるように、EC2 に適用されているロールに CloudWatchLogsFullAccess を追加する。

image.png

awslogs のインストール

  • EC2 に SSH 接続
  • awslogs をインストール

>sudo yum install awslogs -y

awslogs の設定変更

念のため既存設定をバックアップしておく


>cd /etc/awslogs/
>sudo cp awscli.conf awscli.conf.org
>sudo cp awslogs.conf awslogs.conf.org

awscli.conf の編集


>sudo vi awscli.conf

リージョン変更(おそらく転送先の CloudWatch のリージョンのこと)
  region = ap-northeast-1

終わったら、上書き保存する

awslogs.conf の編集

CloudWatch Logs エージェントのリファレンス - Amazon CloudWatch ログ
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AgentReference.html


>sudo vi awslogs.conf

末尾のほうのセクションごと以下に書き換える。
元々存在する [/var/log/message] のセクションごと上書きして、以下のような設定にする。

例)ログファイルごと
[/logs/MyApp/MyAppLogin]
datetime_format = %Y-%m-%d %H:%M:%S
file = /logs/MyApp/MyAppLogin.log
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /logs/MyApp/MyAppLogin

例)ログファイルまとめて
[/logs/MyApp]		
datetime_format = %Y-%m-%d %H:%M:%S		
file = /logs/MyApp/MyApp*.log		
buffer_duration = 5000		
log_stream_name = {instance_id}		
initial_position = start_of_file		
log_group_name = /logs/MyApp		

それぞれ以下のような意味
[]  セクション名(CloudWatch Logs のロググループ名とあわせておくとよさげ)
datetime_format = ログの日時フォーマット
file = ログファイルパス
buffer_duration = バッファ(おそらくこの時間分貯めて、送信している?)
log_stream_name = ロググループ内のストリーム名
initial_position = 初期ポジション(特に変える必要はないかな、、)
log _group_name = CloudWatch Logs のロググループ名

編集が終わったら、上書き保存する。

awslogs サービス制御


>sudo /etc/init.d/awslogs start
Starting awslogs:                                          [  OK  ]

>sudo chkconfig awslogs on
>sudo chkconfig --list | grep awslogs
awslogs         0:off   1:off   2:on    3:on    4:on    5:on    6:off

料金例

調べた時の料金です。(参考)
リージョン:ap-north-east1

サービス  料金 補足
S3 0.025 $/GB 標準ストレージ、最初の 50 TB/月
CloudWatch Logs 0.760 $/GB 取り込み GB あたり
CloudWatch Logs 0.033 $/GB GB あたりのアーカイブ
  • アーカイブ料金は S3 とそこまで大差ない
  • 取込料金が若干かかるので、ログ量が膨大な場合は料金に注意が必要

参考資料

AmazonLinux2のシスログをCloudWatch Logs に転送させてみた | Developers.IO
https://dev.classmethod.jp/cloud/aws/awslogs-amazonlinux2/

Amazon CloudWatch Logsを試してみる | 株式会社ビヨンド
https://beyondjapan.com/blog/2016/07/amazon-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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?