Skip to content
Latchkey

Fluent Bit vs Fluentd: どちらのログフォワーダー?

Fluent Bit は C 製の小さく高性能なログ/メトリクスフォワーダーです。Fluentd は Ruby 製の、より柔軟でプラグインが豊富なコレクター兼アグリゲーターです。

Fluent Bit は、小さなメモリ footprint と高速な C コアでエッジやノードレベルの収集を狙い、DaemonSet として理想的です。Fluentd は膨大なプラグインエコシステムと、より柔軟なルーティングおよびバッファリングを提供し、しばしば中央のアグリゲーターとして使われます。両者は同じプロジェクトから生まれた補完的な存在で、Fluent Bit は footprint と throughput で勝り、Fluentd はプラグインの幅と複雑なルーティングで勝ります。

Fluent BitFluentd
言語CRuby (C コア)
footprint極小 (~MB)大きめ
プラグイン増加中非常に多い
役割エッジフォワーダーアグリゲーター
最適な用途ノードレベルの転送複雑なルーティング

ユースケースとエコシステム

Fluent Bit は、footprint が重要になるリソース制約のあるノードや Kubernetes DaemonSet に適しています。Fluentd は、数百の output プラグインにまたがる豊富なフィルタリングとルーティングでの中央集約に適しています。多くのスタックはエッジで Fluent Bit を動かし、Fluentd や store に送ります。

運用と CI への適合

Fluent Bit はより軽量で起動が速く、Fluentd はより重いものの設定の自由度が高いです。どちらも CI で build と設定テストが行われるコンテナとして配布され、より高速なマネージドランナーがイメージの build とパイプライン統合テストを高速化します。

結論

小さく高速なエッジフォワーダーが欲しいなら Fluent Bit。プラグインの最大限の柔軟性と中央集約が欲しいなら Fluentd。両者はしばしば併用されます。footprint 重視なら Fluent Bit、ルーティングの柔軟性重視なら Fluentd を選びましょう。

関連ガイド