Rails 4.0 + fluentd を利用してみる(1)
Mac OS X に fluentd をインストールしてみたので、Rails アプリからログを残すようにしてみようと思います。 テスト用のアプリを作ってみるところから
Rails のアプリを作る
環境
- Mac OS X 10.9
- Ruby on Rails 4.0.2
- Ruby 2.0
アプリを作る
fluentd のテスト用のアプリを作ります。 一応、scaffold で、少しだけ用意します。
$ rails new fluentd_app_1 $ cd fluentd_app_1 $ bundle install $ rails g scaffold book title:string price:integer $ rake db:migrate $ rails s
fluentd のインストール
fluentd のインストールは、終了済み
Gemfile に追記
追記内容
gem 'td-logger'
gem をインストール
$ bundle install
設定をする
config/treasure_data.yml
development: agent: localhost:24224 tag: fluentd_app_1 debug_mode: true production: agent: localhost:24224 tag: fluentd_app_1 test:
fluentd の設定
ディレクトリを用意して、ファイルを用意します
fluentd/fluentd.conf
<source> type forward port 24224 </source> <match fluentd_app_1.**> type stdout </match>
fluentd の起動
$ fluentd -c fluentd/fluentd.conf 2014-02-14 00:40:42 +0900 [info]: starting fluentd-0.10.43 2014-02-14 00:40:42 +0900 [info]: reading config file path="fluentd/fluentd.conf" 2014-02-14 00:40:42 +0900 [info]: gem 'fluentd' version '0.10.43' 2014-02-14 00:40:42 +0900 [info]: using configuration file: <ROOT> <source> type forward port 24224 </source> <match fluentd_app_1.**> type stdout </match> </ROOT> 2014-02-14 00:40:42 +0900 [info]: adding source type="forward" 2014-02-14 00:40:42 +0900 [info]: adding match pattern="fluentd_app_1.**" type="stdout" 2014-02-14 00:40:42 +0900 [info]: listening fluent socket on 0.0.0.0:24224
アプリからfluentd に送信(っていうのかな)
app/controllers/books_controller.rb
def index @books = Book.all TD.event.post('books', {:action=>:index}) end
下記にアクセスすると起動していたfluentd の画面にログが流れます
流れたログ
2014-02-14 00:50:52 +0900 fluentd_app_1.books: {"action":"index"}
参考
- http://shmztkyk.hatenablog.com/entry/2013/11/14/162601
- http://cohakim.com/archives/4401
- http://doryokujin.hatenablog.jp/entry/2012/07/05/025737
書籍
データサイエンティスト養成読本 [ビッグデータ時代のビジネスを支えるデータ分析力が身につく! ] (Software Design plus)
- 作者: 佐藤洋行,原田博植,下田倫大,大成弘子,奥野晃裕,中川帝人,橋本武彦,里洋平,和田計也,早川敦士,倉橋一成
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/08
- メディア: 大型本
- この商品を含むブログ (11件) を見る