Fluentd
Logstash
flume
Kafka

ログ収集ツールの比較

More than 1 year has passed since last update.

ビッグデータが話題になり始めてから日が経ち、Fluentd、Logstash、Apache flumeやkafkaの名前を聞くようになった。これらに付随して全文検索エンジンやkibana等のビジュアライザが話題になっている。ログ分析の初歩としてログ収集ツールについて調べてみた。

Diagram.png


ログ収集ツール

ログ収集ツールとしてはFluentd、Logstash、Flume等が挙げられる。ファイルやメール、syslog、DB、センサからログデータを読込み、必要なログをフィルタして、jsonやxmlに整形してアウトプットする機能を持つ。


Fluentd


メリット


  • プラグインが300+公開されており、様々な形式のデータをインプット、アウトプットできる

  • 単体でログのフィルタ、バッファ、ルーティングができる

  • 2000+を超える企業に利用されている

  • 日本語の情報が多い


デメリット



  • 単体で動作するためfluentdが落ちたらバッファしているログが消える

  • 想定外のログが入力されると大量のスタックトレースが吐かれる

引用:http://changineer.info/server/logging/fluentd-td-agent.html#fluentd-2



Logstash


メリット


  • フィルタを簡単にカスタマイズできる

  • Fluentdと比べるとシンプル

  • Windowsでも動く


デメリット


  • バッファがないため大量にログを吐く場合kafka等と組み合わせる必要がある。


Apache Flume


メリット


  • 冗長化などの仕組みも備えているので障害にも強い

  • Hadoopとの親和性が高い

  • 大量のログデータをリアルタイムに転送できる


デメリット


  • 機能が多いため設定が複雑


Apache Kafka

Kafkaは2011年に公開されたオープンソースの分散メッセージングシステムである。Zookeeper上にkafkaサービスを複数作成しクラスタを組むことで大量のメッセージを受け入れることができる。利用用途としては、ログ収集ツールからのアウトプットの受入、全文検索エンジンに追加する前のバッファなどに利用できる。

ログのビジュアライゼーション手段についての調査