Fluentdとは
Fluentdは、様々なソースからのログデータを収集、処理、転送するためのオープンソースのデータコレクタです。当初はTreasure Data, Inc.によって開発され、現在はCloud Native Computing Foundation(CNCF)のプロジェクトとして活発に開発が進められています。主に
Rubyで記述されていますが、パフォーマンスを重視した
C言語版のFluent Bitも提供されています。
概要
Fluentdは、構造化データ、半構造化データ、非構造化データなど、多様な形式のデータを扱うことができます。主に、イベントログ、アプリケーションログ、クリックストリームなどの分析に利用されます。その柔軟性から、
ビッグデータ処理におけるログ収集の標準ツールとして、広く普及しています。
SuonsyrjäとMikkonenの指摘によると、Fluentdの基本的なコンセプトは、様々なタイプのログ入力と出力を統合するレイヤーとして機能することです。これにより、異なるソースからのログデータを統一的に処理し、効率的なデータ分析基盤を構築することが可能になります。
Fluentdは、
Linux、macOS、Windowsといった主要なOS上で動作し、幅広い環境で利用できます。
歴史
Fluentdは、
マウンテンビューに拠点を置くTreasure Data, Inc.の古橋貞之氏によって開発されました。2011年10月に
オープンソースソフトウェアとして公開され、多くの開発者によって支えられています。2013年には、500万ドルの資金調達を達成し、その成長を加速させました。
2016年には、CNCFのプロジェクトとして迎え入れられ、2019年にはCNCFプロジェクトにおけるグラデュエーションレベルに認定されました。これは、Fluentdが成熟したプロジェクトとして、業界で広く受け入れられていることを示しています。
ユーザー
Fluentdは、2013年に
Amazon Web Servicesによって、Apache FlumeやScribeに類似するデータ収集ツールとして推奨されました。Google Cloud PlatformのBigQueryでは、リアルタイムデータ取り込みのデフォルトツールとして採用されており、google-fluentdと呼ばれるGoogleカスタマイズ版がデフォルトのロギングエージェントとして使用されています。
Fluent Bit
Fluent Bitは、Fluentdのサブプロジェクトとして開発されている、軽量なログ処理・転送ソフトウェアです。Fluentdは
Rubyと
C言語で記述され、gemとして提供されているため、依存関係が多く、メモリ使用量が大きいという課題がありました。一方、Fluent Bitは
C言語のみで開発されており、依存関係が少ないため、大幅なメモリ使用量の削減に成功しました。
これにより、コンテナ環境や組み込み
Linuxなど、リソースが限られた環境でもFluent Bitを容易に利用することが可能になりました。特に、クラウドネイティブ環境におけるログ収集のニーズに応えるものとして、注目されています。
まとめ
Fluentdは、その柔軟性と拡張性から、様々な環境で利用できるデータ収集基盤として、その地位を確立しました。
ビッグデータ分析からクラウドネイティブ環境まで、幅広い分野でのログ管理を支える重要なツールとなっています。そして、Fluent Bitの登場により、よりリソース制約の厳しい環境での利用も進み、その活躍の場を広げています。
参考文献
Goasguen, Sébastien (2014). 60 Recipes for Apache CloudStack: Using the CloudStack Ecosystem, "Chapter 6: Advanced Recipes".
オライリーメディア.
ISBN 1491910127
外部リンク
公式ウェブサイト
*
fluentd - GitHub