fluentdのHTTP OUTPUTって、意外と使われてないのか、

マニュアルを見たのですが、ちょっと引っかかったので、

備忘録がてら設定晒そうかと。

(fluentd http out の公式マニュアル)

https://docs.fluentd.org/output/http


とりあえず、設定です。

なおバージョンは、1.16.2です。

<source>
  @type forward
  port 24224
</source>
<match **>
  @type http
  endpoint http://host.docker.internal:8080/Store/${tag}
  http_method post 
  json_array false
  open_timeout 3
  read_timeout 3
  retryable_response_codes [503]
  <format>
    @type json
  </format>
  <buffer tag>
    @type file
    path /fluentd/log/transfer/buffer/
    chunk_limit_size 1m
    retry_wait 10s
    retry_max_times 3
    flush_mode interval
    flush_interval 1m
    flush_at_shutdown true
  </buffer>
</match>

endpointに${tag}という変数を使う場合、

bufferに書かないといけないというのがまずつまりました。(必須というのがわからんかった)

あとは、endpointに環境変数とかも使えるのかと思いきや、どうやら使えないようで、

このあたりも同時にハマったポイントでした。

その他、いつのバージョンからか、bufferの書き方もかなり変わっており、

このあたりもマニュアル見つつ、動かしながら確認しました。

fluentdはバージョンアップすると、結構書き方が変わっていたり、

パラメータが変更になっていたりと、なかなか注意が必要です。

とはいえ、相変わらず重宝しているfluentdです。

ちなみに、個人的に作成しているFluentNettingなんてものもあります。

https://www.nuget.org/packages/FluentNetting/

こいつはFORWARD OUPUTを受信するサーバですが、

ヘルスチェックなんかも持っているので、おすすめです。

以上

コメントがあればどうぞ


CAPTCHA Image
Reload Image