読了: 約 2 分

Railsでアプリケーションを創っている中で、ユーザのアクセスログを集計したり、または集計したログを元にランキング機能などのコンテンツを創ったりというシチュエーションがあるかと思います。今回はアクセスログを集計するところまでを。

fluentdがかなり使える

rails初学者としてググっているとfluentdで集計するのが一般的という事でこちらを使用。
基本的な設定は参考サイトを観て頂くとわかるかと思います。

gemfileに追記して、bundle installをするだけ。

Gemfile
gem 'act-fluent-logger-rails'
gem 'lograge'
gem 'fluentd'

fluentd.confを作成して、fluentフォルダを作成、
その中にconfファイルを置きます。

<source>
  type forward
  port 24224
  tag rails.log
</source>

<match rails.log>
  type file
  path ./log/fluent_out.log
</match>

下記のコマンドを実行すると、サーバーを起動するのと同時に
上記したconfファイルの中のpathに記載した所にログが蓄積されていきます。
logの名前は任意のものに設定。

fluentd -c fluent/fluent.conf -vv & rails s

設定もめちゃくちゃ簡単で、ページ遷移すると下記の画像のように取れる様になります。

スクリーンショット 2015-09-02 23.45.42

スクリーンショット 2015-09-03 0.17.34

ログは簡単に取れるようになったので、次回はログを使って何かランキングなど創ってみたいと思います。

参考:
http://qiita.com/s_nakamura/items/1615b2fc4e2b29245fc3