Fluent Bitの概要
Fluent Bit(フルエントビット)は、C言語で書かれたクラウド及びコンテナ環境に適した、ログの収集、配布を行うオープンソースのログプロセッサツールです。
Fluent BitはFluentd傘下のCNCFサブプロジェクトで、2014年に組み込みLinuxやゲートウェイなどの制約のある環境向け軽量ログプロセッサとしてTreasure Data社のFluentdチームにより開発され、Fluentdエコシステムの一部として、Fluent Bitと名付けられました。
Fluent Bitの特徴
Fluent Bitは軽量で高速、パフォーマンスを重視したアーキテクチャになっており、以下のような特徴があります。
スケーラブル | 分散クラウドおよびコンテナ環境で実証済み。 ディザスターリカバリーデータを格納する I/O ハンドラーによる高可用性。 |
---|---|
フレキシブル | データ解析とルーティングの詳細な管理。 セキュリティの最適化と、コストを最小限に抑えるためのフィルタリングとエンリッチメント。 |
効率的 | 軽量の非同期設計により、CPU、メモリ、ディスク I/O、ネットワークなどのリソースの使用が最適化されOOMエラーを未然に防ぎます。 |
拡張性 | クラウドネイティブサービス、コンテナ、ストリーミングプロセッサ、データバックエンドなど、多くのテクノロジーとの統合。 |
FluentdとFluent Bitは、どちらもアグリゲーター、フォワーダーとして機能し、相互に補完することも可能です。下記のような違いがあり、エンドユーザーのニーズによって選択することになります。
Fluentd | Fluent Bit | |
---|---|---|
スコープ | コンテナ、サービス | 組み込み Linux、コンテナ、サービス |
開発言語 | C言語、Ruby | C言語 |
使用メモリ | ~40MB | ~650KB |
パフォーマンス | ハイパフォーマンス | ハイパフォーマンス |
依存関係 | Ruby Gemで構築されているため、いくつかのgemが必要です。 | 特別なプラグインを使用しない限り依存関係はありません。 |
プラグイン | 1000 以上のプラグインが利用可能。 | 約70のプラグインが利用可能。 |
ライセンス | Apache License v2.0 | Apache License v2.0 |
Fluent Bitの一般的なデプロイメントとして、以下の3つのパターンがあります。
1. Forwarder/Aggregator デプロイメント
エッジデバイスにフォワーダーと呼ばれる軽量のインスタンスをデプロイし、フォワーダーは最小限の処理を行い、アグリゲーターがフィルタリング処理やバックエンドへのルーティングを行います。
https://fluentbit.io/blog/2020/12/03/common-architecture-patterns-with-fluentd-and-fluent-bit/より
メリット
- エッジデバイスの性能低下防止
- アグリゲーター層のスケーリングが可能
- バックエンドの追加が容易
デメリット
- アグリゲーター用の専用リソースが必要
2. Sidecar/Agent デプロイメント
Fluent bit をサイドカー/エージェントとしてデプロイし、バックエンドサービスに直接データを送信します。
https://fluentbit.io/blog/2020/12/03/common-architecture-patterns-with-fluentd-and-fluent-bit/より
メリット
- アグリゲーターが不要
デメリット
- エージェントの構成を変更するのが簡単ではない。
- バックエンドの追加が簡単ではない。
3. Network Device/Syslog aggregator
Fluent bit(およびFluentd)は、CNCFプロジェクトですが、ネットワークデバイス/Syslog/ファイアウォールデバイスなどの従来のログインフラストラクチャとも連携出来ます。最も一般的な入力としてsyslogが挙げられます。
https://fluentbit.io/blog/2020/12/03/common-architecture-patterns-with-fluentd-and-fluent-bit/より
メリット
- エージェントは不要。主にsyslogから読み込む。
- データ送信後のIPリダイレクションなどを追加し、スケーリングが可能。
デメリット
- 入力によっては処理を追加する必要がある。
- ブラックボックスネットワークデバイスでは、トラブルシューティングが複雑になる場合がある。
Fluent Bitの動作環境
コンテナーデプロイメントは、Kubernetes、Docker、AWSに対応しています。
Linux向けには以下のディストリビューション向けパッケージが用意されてます。
OS | バージョン |
---|---|
CentOS / Red Hat | CentOS 7、CentOS 8 |
Ubuntu | Ubuntu 16.04 LTS、Ubuntu 18.04 LTS、Ubuntu 20.04 LTS、Ubuntu 22.04 LTS |
Debian | Debian 9、Debian 10 |
Amazon Linux | Amazon Linux 2 |
Raspbian / Rasberry Pi | Raspbian 10 |
Yocto / Embedded Linux | Yocto / Embedded Linux |
Windows向けとして、Windows Server 2019、Windows 10(2019.03)向けのインストーラも存在しています。
Fluent Bitのライセンス
Fluent Bitのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。
Fluent Bit の参考情報
Fluent Bit の公式サイト
Fluent Bit のインストール方法
Fluent Bitのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。