Fluentd で CSV ファイルを読み込む
Fluentd を用いて CSV ファイルを読み込む際は、tail Input Plugin を用いるのが定石だと思います。format
でcsv
が指定できますし。
待てど暮らせど出力してくれない
しかしながら、以下のような感じで conf ファイルを書いても一向に出力してくれません。
<source> @type tail format csv path /path/to/sample.csv tag hogehoge pos_file /path/to/sample.csv.pos keys column_1,column_2,column_3 </source> <match **> @type file path /path/to/sample.csv.log </match>
read_from_head オプション
上記の書き方ですと CSV ファイルの読み込みを初めてする場合は入力がありません。ですので、read_from_head
ディレクティブを付けてその値をtrue
と指定しましょう。
<source> @type tail format csv path /path/to/sample.csv tag hogehoge pos_file /path/to/sample.csv.pos keys column_1,column_2,column_3 read_from_head true </source> <match **> @type file path /path/to/sample.csv.log </match>
これでちゃんと CSV ファイルを読み込んでくれたはずです。ただ、このオプションを常時true
にしていると毎回先頭から読み込んでしまう(?)かもしれないので要検討です*1。
*1:posファイルがあるから大丈夫?