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サービスを複数作成しクラスタを組むことで大量のメッセージを受け入れることができる。利用用途としては、ログ収集ツールからのアウトプットの受入、全文検索エンジンに追加する前のバッファなどに利用できる。

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