初めましてfluentd!
fluentdのこと知らなすぎて
真顔で設定ファイルとにらめっこすることしか出来なかったので(・_・)
クイックスタートガイドの一部を読んだ。
✫fluentd
ログ収集用のツール。いろんなログに対応しておりプラグインがたくさん。
✫使われている技術・特徴
✫fluentdイベントのライフサイクル
- イベントが発生し、fluentdにインプットがあるとタグを発行する。
- タグを識別し、マッチするアウトプットの形式(設定)を判断する。
- マッチしたアウトプットに合わせて適切にイベントを送信する。
※アウトプットしたあと、イベントに新しいタグを付与して再利用することも出来る。
✫configファイル
☁configファイルの場所
- パッケージインストールした場合
/etc/td-agent/td-agent.conf
- Gemインストールした場合(インストール時に指定)
/etc/fluent/fluent.conf
☁ディレクティブ
configファイルには6つのディレクティブを指定する。
- source
- インプットデータがどこからどういう方式で送られてくるか指定する。
type
パラメータが必須。http
(http通信を行う)、forward
(TCP通信を行う)を指定するのが標準的。tag
、time
、record
というパラメータでルーティングが出来る。
- match
- filter
- どういう処理をするか指定する。処理の通過点!
- matchと同様の使い方をするが、一度マッチした後も、それより下にもマッチする処理があれば全て実行する。
- system
- 各種設定を行う。
log_level
、suppress_repeated_stacktrace
、emit_error_log_interval
、suppress_config_dump
、without_source
という値が対象。
- label
- filterやアウトプットをグループ分けする。
- 各パラメータにプレフィックス
@
が必要となる。
- @include
- 異なる設定ファイルの情報をインポートし再利用する。
- ファイルパス、グロブ、URLで指定できる。
☁configファイルについてその他
✫プラグイン
おおまかに分類すると6種類ある。
- Input
ソケットを生成してログを収集したり、定期的にログを取得したりする。 - Parser
インプットのフォーマットを変更する。 - Filter
特定フィールドの値によって絞り込んだり、フィールドを追加・削除したりする。 - Output
結果を出力する。即時出力する(Non-Buffered)か、チャンクのキューにバッファしてから出力する(Buffered)か、一定時間毎に出力する(Time Sliced)かの3パターンある。 ※チャンク(chunk)はイベントの集まり - Formatter
アウトプットのフォーマットを変更する。 - Buffer
Bufferedアウトプットにて、バッファの設定を行う。
✫その他
- インストール方法(環境別)
- 使用例
- もっと詳しく
※他にも色々ある。
ちなみにこれ会社のwikiにも書いといたやつ…w
うすっぺらい情報だけどこれくらい分かってればとっつきやすいでしょう!
あ、あとどうでもいいけどエントリのフォントサイズあげた。