Fluentd
多様なデータソースからのログを収集し、JSON形式に構造化した上でファイル・RDBMS・NoSQL・IaaS/SaaS・Hadoopなど様々な出力先へ転送する、オープンソースのデータコレクタ(統一ロギングレイヤー)。Treasure Data社の古橋貞之(Sadayuki Furuhashi)氏が開発した。同氏はEmbulkやMessagePackの開発者でもあり、Fluentdがストリーム型のログ収集を担うのに対し、Embulkはバルク(一括)型のデータ転送を担う位置づけになっている。
主な機能
- 複数のデータソースとデータ出力を繋ぐプラグイン型アーキテクチャ。500以上のコミュニティ提供プラグインが存在する。
- ログ収集・フィルタリング・バッファリング・出力という一連の処理を、JSON形式によるデータ構造化で統一的に扱う。
- メモリおよびファイルベースのバッファリングによるデータ損失防止と、フェイルオーバー機能。
- C言語とRubyの組み合わせで実装されており、30〜40MBのメモリで動作し、コア当たり13,000イベント/秒を処理できる。
CNCFとFluent Bit
- 2016年11月8日にCNCF(Cloud Native Computing Foundation)のIncubatingプロジェクトとして採択され、2019年4月11日にGraduatedレベルへ昇格した。
- 組み込み機器やエッジデバイスなど、Fluentdの実行が困難な軽量環境向けに、Fluentdのアーキテクチャを踏襲した軽量版としてFluent Bitが開発された。Fluent BitはFluentdの傘下にあるCNCF Graduatedのサブプロジェクトという位置づけ。
- Fluent Bitはログだけでなくメトリクスやトレースの収集・処理・転送にも対応するよう発展しており、現在はFluentdより広く採用されている。
出典
- Fluentd | Open Source Data Collector | Unified Logging Layer
- Fluentd Architecture
- Fluentd | CNCF
- Fluentd has Graduated! | Fluentd Blog
- Fluentd & Fluent Bit | Fluent Bit: Official Manual