Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

概要

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.

http://www.linuxcommand.org/man_pages/logrotate8.html

今後の予定

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

selmertsx
Qiitaは公開できるメモ帳
http://selmertsx.hatenablog.com/
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