LoginSignup
3
1

More than 5 years have passed since last update.

Rails5 + Pumaにて、正しくLogrotateされなかった問題の対応

Last updated at Posted at 2016-08-05

概要

Rails, PumaのLogrotate設定をしたものを、itamaeを利用して本番に反映した。
その結果、logrotateが実行された形跡はあるものの、実際にはrotateされてなかった。
また、force optionをつけて実行して、新しい logを作成したとしても、
rails の production.log が loggingされなかった。

原因

logrotateの初回実行はタイムスタンプを残すだけで、実際に rotateは行わない。
(公式ドキュメント見たい)
参考: http://catnapper-mar.hatenablog.com/entry/2015/08/30/141424

また Puma も unicornと違って、HUP シグナルを送るだけでは production.log
の reopenがされないらしい。
参考: https://github.com/puma/puma/issues/806

対応

Railsのproduction.logはcopytruncateで対応。

copytruncateはlogの欠損リスクはあるものの、
該当する時間帯のログ欠損は、現状さほど大きなリスクではないという点で一旦この方法で対応。
後ほど、td-agentも含めて対応を考える.

Note that there is a very small time slice between copying 
the file and truncating it, so  some  log ging  data  might be lost.

今後の予定

cronologを試してみる。
http://qiita.com/ma2ge/items/1fba78a08e8d3b82b3c2#logger--logrotate

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