2013年1月3日木曜日

fluentdを試してみた

そろそろ本格的にビックデータ時代がきそうなので、今年から学習を開始します。

まずはfluentdというログ収集ツールをMac上で試してみたのでメモ
かなりグダグダだったので、あんま参考にならないかもw

環境

  • Mountain Lion
  • ruby 1.9.3(use rvm)
  • fluentd 0.10.30

fluentdとは

ログ収集基盤です

特徴

  • 様々なデータソースからログを収集、転送、集約できる
  • ログメッセージはjson形式で構造化される
  • プラグインを使うことでログの入力元や出力先を容易に追加できる
  • 障害検出機能やフェールオーバー機能(障害時に代替サーバーに引き継ぐこと)により、高い可用性(壊れにくさのこと)を実現できる
  • 独自にプラグインを開発することも可能。RubyGemsで配布できる(最高や)

機能

fluentdの機能はほとんどinput, Buffer, output,の三つのプラグインで実現されている。

inputプラグイン
指定した場所からログの受け取り、取り寄せを行う。ソケットを待ち受けてログを受け取ったり、データソースから定期的にログを取り寄せたりする。
bufferプラグイン
Inputプラグインから受け取ったログをバッファリングし、Outputプラグインで書き出しが成功するまでログを保存する機能を備えています。Bufferプラグインにはメモリとファイルの2種類があります。
Outputプラグイン
指定した場所(ファイル、サーバなど)にログの書き出しを行います。書き出しに失敗してもBufferプラグインが保存してくれている間は再度書き込みを試みます。 例) HTTP、ファイル(tail)、Amazon S3、MongoDB、Hadoopなど。

install

gemを使ってinstallします。


  $ rvm gemset create fluentd

  $ rvm gemset use fluentd
  
  $ gem install fluentd
  
  $ fluentd --setup ./fluent
  Installed ./fluent/fluent.conf.

  $ fluentd -c ./fluent/fluent.conf -vv &
  
  $ 2013-01-02 06:50:02 +0900: fluent/supervisor.rb:153:supervise: starting fluentd-0.10.30
  2013-01-02 06:50:02 +0900: fluent/supervisor.rb:235:read_config: reading config file path="./fluent/fluent.conf"

起動確認。すんごいシンプル。

停止

ジョブを停止します


  jobs

  jobs
  [1]+  Running                 fluentd -c ./fluent/fluent.conf -vv &

  kill %1
  

困った時

fluentd -hでHELPが確認できます。


$ fluentd -h

Usage: fluentd [options]
    -s, --setup [DIR=/etc/fluent]    install sample configuration file to the directory
    -c, --config PATH                config file path (default: /etc/fluent/fluent.conf)
    -p, --plugin DIR                 add plugin directory
    -I PATH                          add library path
    -r NAME                          load library
    -d, --daemon PIDFILE             daemonize fluent process
        --user USER                  change user
        --group GROUP                change group
    -o, --log PATH                   log file path
    -i CONFIG_STRING,                inline config which is appended to the config file on-fly
        --inline-config
    -v, --verbose                    increase verbose level (-v: debug, -vv: trace)
    -q, --quiet                      decrease verbose level (-q: warn, -qq: error)

起動と停止の仕方がわかったのでとりあえず終了。
ビッグデータの本を読んだけど、以下の本が面白かったです。エンジニアはなるべく読んでおいたほうがいいでしょう。

kindleだと30%引きぐらいで買えました。紙の本は死んでしまうんかな・・・

以上です。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...