EC2(Amazon Linux) に構築したアプリのログを CloudWatch に転送する
事前準備
EC2 から CloudWatch へアクセスできるように、EC2 に適用されているロールに CloudWatchLogsFullAccess を追加する。
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
Author And Source
この問題について(EC2(Amazon Linux) に構築したアプリのログを CloudWatch に転送する), 我々は、より多くの情報をここで見つけました https://qiita.com/qt6hy/items/7d8446b914bb3b982d53著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .