fluentdの設定周り
fluentdの設定周りについて
fluentdの設定はtd-agent.confに全部書けて便利で簡単。なのだけれども、全部かけるからそのパラメータがどの部分に必要なのか?がわかりにくいし、v1.0以降にパラメータ名が変更になったものが多く、古いqiitaとかtech系の記事で古いパラメーターを使っていたりすると、もう何が何だか的な感じなカオスが繰り広げられる。
基本的にはどのパラメーターを変更しているのか(bufferなのかfilterなのか?)を意識して探すのと、使ってるパラメーターが古いかどうかを確認しながらやったほうが良さげ。 このページに過去のパラメータの対応表がある。Plugin Helper: Compat Parameters
調べた物のメモ
buffer
項目名 | 内容 | 補足(デフォルト) |
---|---|---|
buffer_type | メモリかファイル | memory or file |
buffer_path | bufferのファイルの保存先 | |
buffer_queue_limit | bufferが貯めるqueueのサイズの上限値 | 256 |
buffer_chunk_limit | bufferが貯めるファイル容量の上限値 | 256m, k,m,gでKB,MB,GBを表す |
flush_interval | flushする(bufferをファイルに書き出す)間隔を設定 | 60s, s,m,hで秒,分,時を表す |
flush_thread_interval | wait chunkがない時にflush試みるインターバル | デフォルト1, 旧:try_flush_interval |
flush_thread_burst_interval | flushから次のflushする際のインターバル | デフォルト1, 旧:queued_chunk_flush_interval |
flush_thread_count | outputの並列化をする時に使う | デフォルト1, 旧 num_threads |
retry_type | retryの間隔がperiodic(固定間隔)かexponential_backoff(指数関数的に増加)を選択する | デフォルト: exponential_backoff |
retry_wait | flushのretryする間隔。もしくはbackoff値だけ指数関数的に増加していく | デフォルト1 |
retry_max_interval | retryのインターバルの最大値 | デフォルトなし 旧:max_retry_wait |
retry_forever | trueの場合, retry_max_times, retry_timeoutを無視してflushし続ける | デフォルト false 旧:disable_retry_limit |
forward
項目名 | 内容 | 補足 |
---|---|---|
require_ack_response | ack(到達確認)するようになる。at-least-onceの送信ルールになる。 | デフォルト false |
ack_response_timeout | ackのtimeoutの値 | デフォルト false |
send_timeout | sending eventlogのタイムアウト値 | デフォルト 60 |
hard_timeout | 送信先のサーバのダウン検知するまでのタイムアウト値 | デフォルト send_timeoutと同じ |
phi_threshold | 送信先サーバのダウン検知につかうパラメータ | デフォルト 16 |
その他もろもろ
- 生ログを吐き出す場合 sourceにformat none、outputの設定にformat single_valueをつける
- ¥<match¥>は1回処理をするともう一回matchを書いても効かない(1レーコード1回のmatch)ので、@copyと¥<store¥>を使う
- fluentdのlogでwarnが出ていると動いてない場合があるので、設定を見直す
- パラメータを調べる時はそのパラメーターが何に属しているのか(buffer, forward, filter..etc)をまず確認してからにする。