LoginSignup
2
0

More than 1 year has passed since last update.

Elastic Beanstalkのlogrotateについて

Last updated at Posted at 2022-09-12

ログローテーションについて

Elastic Beanstalkのログローテーションについて調査をしたので、内容をまとめておきます。

ローテーションの設定

※以降はPumaのログについて記載していきます

デフォルトの設定で、1時間に1度、該当ログのファイルサイズが10MBを超えていたらローテーションするようになっていました。
1時間に1度の契機は、下記cronジョブによって呼びだされます。

/etc/cron.hourly/cron.logrotate.elasticbeanstalk.puma.conf

ローテーションの設定ファイルについては下記コマンドで確認できます。

$ less /etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.puma.conf
logrotate.elasticbeanstalk.puma.conf
/var/log/puma/* {
 su root root          # ルート権限でやる
 size 10M              # 10MB以上だったらローテーションする
 rotate 5              # 5世代分古いログを残す 
 missingok             # ログファイルがなくてもエラーを出さない
 compress              # ローテーションしたログをgzipで圧縮する
 notifempty            # ログファイルが空ならローテーションしない
 copytruncate          # ログファイルをコピーし、内容を削除する
 dateext               # ローテションしたログに日付文字列をつけたい場合
 dateformat %s         # UNIX時刻(秒)の文字列を付与する
 olddir /var/log/puma/rotated # /var/log/puma/rotated 内にローテーションしたログファイルを格納
}

このデフォルト設定は.ebextentionsによって書き換え可能です。

ローテーション前後のファイルの見比べ

  1. ローテーション直前9:59の/var/log/puma/配下のスクショ
    Image from Gyazo

  2. ローテーション直後10:00の/var/log/puma/配下のスクショ
    Image from Gyazo

ローテーションされたログの保管場所

ElasticBeanstalkの設定で下記を有効にしていると、S3にローテーションされたログファイルが格納されます。

設定

ElasticBeanstalk -> 環境 -> {該当環境} -> 設定 -> ソフトウェアの変更
Image from Gyazo

ログの格納場所

S3 -> elasticbeanstalk-{リージョン}-{アカウントID} -> resources -> environments -> publish -> {EB環境ID} -> {EC2インスタンスID}
Image from Gyazo

※参照
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.logging.html
https://qiita.com/Esfahan/items/a8058f1eb593170855a1

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