in_tailでpermission deniedが出る時がある
- repeatedly
- 2084
- 0
- 0
- 0
logrotateの仕組み詳しい方います?logrotateがファイルをローテーションする時って,一回rootでファイル作り直したりするんですかね?
2014-02-26 20:08:17@repeatedly 作りなおすというは、 hoge.log を hoge.log.1 にして hoge.log をtouchするかどうかっていう話ですか?
2014-02-26 20:10:02@Flast_RO Yes.なんかFluentdのin_tailで,ときどきローテーションのタイミングでpermission deniedが起きていて,その原因がなんなのか知りたい
2014-02-26 20:13:03@repeatedly どれぐらいの間隔を許容するかですが、nocreate オプションを使うとtouchしないので、postrotateとかでアプリケーションを突いて、それが開き直すまでは空のログすら無いです
2014-02-26 20:16:51@repeatedly createを使っても、touchするまでの瞬間はどうしても何もない瞬間が出来てしまいます copytruncateを使えば何もない瞬間は無くなりますが、切り詰めている間のログは亜空間に消える可能性があるらしい(これは使ったこと無いからなんとも)
2014-02-26 20:18:16@Flast_RO あれ,でもその時ってpermission denied飛ぶんだっけ?何もないならNo suchみたいなのが飛ぶような気も?
2014-02-26 20:21:03@repeatedly fluentd側の挙動まではわからないです...Secure OSが動いてるとPermission Deniedが飛んだり、createの設定がちょっと足りないとoot:rootで作って、reloadで適当なuidに変わるとか、いろいろ考えられます
2014-02-26 20:34:29@repeatedly とりあえずlogrotateで今のところ思いつくのは(no)createとcopytruncateあたりですね
2014-02-26 20:35:59@repeatedly createの後ろにpermission gid uidの順で設定できるので、それな気もします http://t.co/uPWL5mQ1pJ
2014-02-26 20:37:49