Fluentdについてまとめ
Fluentdについて
補足
- それ以前にscribeというものがあった
概要
- 必要なところからデータを取り出す (input)
- そのデータを必要に応じて分解(パース)する
- データのタイムスタンプを管理する
- 必要なところにデータを届ける (output)
- そのデータを必要に応じて整形(フォーマット)して保存する
- データを紛失しないよう管理する (buffer)
- やりとりの途中で何かエラーが起きたらリトライする
できること
- ログの収集
- センサデータ等の収集
- 汎用データ処理プロセッサ
- データの集約
- 簡単なリアルタイム集計
アクセスログ、およびアプリケーションログの収集
- 動作しているサーバ(Apache, Nginx および各言語のアプリケーションサーバ)がログを出力する
- そのログを各サーバ上に起動してあるFluentdが受け取る
- Fluentdはネットワーク越しにログ集約用Fluentdに対して転送する
- ログ集約用Fluentdは集まってきたログをどこかに書き込む
- 典型的には local file, AWS S3, Hadoop HDFS, MongoDB など
フロー
- Fluentd は input, buffer, output という仕組みを持つ
- それぞれデータの流入、Fluentd内部での管理、データの流出に対応
- Fluentdは1プロセス内にこの input/output を好きなだけ持てる
- 複数のデータ入力を受け付け、複数のデータ出力先に流し込むことができる。そのように設定を書けばよい。