Fluent Bitを試してみる。
概要
FluentBitは、センサなどの組み込み機器向けのデータコレクタで、Fluentdより軽量なようなので、試してみる。
今回は、同梱の標準プラグインを利用して、CPUの情報をFluentdに対して送信する。
という超簡単な動作確認を行った。
Fluent bitとは
FluentBit is an open source specialized data collector tool for Embedded Linux. It provide built-in metrics and general purpose output interfaces for centralized collectors such as Fluentd.
FluentBitは組み込みLinux用のオープンソースの特殊なデータ収集ツールです。
これは、 Fluentdとして、集中のコレクターのための組込みメトリックと汎用出力インターフェースを提供します。
構成図
------------------------------------------------
| Amazon EC2 |
| |
| 2.---------- CPUinfo 1.---------------- |
| | fluent-bit |--------->| docker container | |
| ------------ | | |
| | tagomori/fluentd | |
| ------------------ |
| |
------------------------------------------------
手順
1.データ集約用のfluentdをセットアップ
# install dependency packages
sudo yum install git docker -y
# start docker service
sudo service docker start
# make log-directory
mkdir /var/log/fluentd
# start fluentd
docker run -d -p 24224:24224 -v /var/log/fluentd:/fluend/log tagomori/fluentd
2.fluent-bitのセットアップ
# install dependency packages
sudo yum install git cmake gcc gcc-c++ zlib-devel -y
# clone fluent-bit
git clone https://github.com/fluent/fluent-bit.git
# build
cd fluent-bit/build/
cmake ..
make
# Flush CPU usage to a Fluentd service
fluent-bit -i cpu -o fluentd://localhost:24224
3.ログの確認
※ホントは、Host側に出力されたLocalファイルをtailするつもりだったが、dockerのローカルボリュームマウントに失敗したので、docker execで確認。
# tail fluend.log
docker exec lonely_hypatia tail -f /fluentd/log/data.log
以下のように、CPUの情報がリアルタイムに転送されて来ていることが分かる。
20150521T151321+0000 fluent_bit.cpu {"cpu":6.0}
20150521T151322+0000 fluent_bit.cpu {"cpu":1.0}
20150521T151323+0000 fluent_bit.cpu {"cpu":0.0}
20150521T151324+0000 fluent_bit.cpu {"cpu":0.0}
20150521T151325+0000 fluent_bit.cpu {"cpu":0.0}
20150521T151326+0000 fluent_bit.cpu {"cpu":0.0}
20150521T151327+0000 fluent_bit.cpu {"cpu":1.0}
20150521T151328+0000 fluent_bit.cpu {"cpu":0.0}
所感
すでに、リアルタイムなデータ収集ツールとしては、デファクトスタンダードとなっているFluentdの組み込みLinux版ということで、今後市場の拡大が期待されるIoTの分野において、Fluentdと同様にデータ収集ツールとして不動の地位を獲得するものと期待できる。
2月にリリースされた、Fluentdのバッチ版OSSであるEmbulkのリリース直後と同様に、現時点ではPluginが充実していないが、今後のPluginの拡充状況次第で、一気に流行ると思われる。