Railsでfluentdを使ってログをCSV形式にする方法がわかりません。
現状は、Ruby on Railsを使って、アプリケーションを創っております。
そのアプリケーションの機能で、ランキングを作成しようと考えています。
現状は、今後user_id、categoryなどの属性を付ける可能性が高いので拡張性の高いfluentdを入れて、logを出力する所までは出来ている状態です。現状のlogは下記のような状態となっております。
2015-10-28T21:38:05+09:00 rails.log {"messages":"{\"method\":\"GET\",\"path\":\"/\",\"format\":\"html\",\"controller\":\"index\",\"action\":\"index\",\"status\":200,\"duration\":305.17,\"view\":291.93,\"db\":1.54}","level":"INFO"}
このあと、fluent.confの書き方がわからず、CSV形式で1行毎に3つめのmessages:
の中身を下記の様なCSVの形に分けたいのですが、分けられない状態となっています。
|path |action|
/ index
about show
posts/1 show
<source>
type tail
format csv
</source>
こういったアクセスログは通常dbに保存しないと思うので、
出来ればlogを監視してアクセスランキングのような機能を作成したいと考えております。
また、dbに保存して定期的に削除するという方法は考えておりません。
何か良い方法がありましたら、ご教授頂ければ幸いです。