Почему события не записываются в файлы с помощью плагина out_file, когда значение append равно true?

#fluentd

#fluentd

Вопрос:

Причина, которую я указал append true , заключается в том, что я не хотел создавать слишком много маленьких файлов. И я использовал flush_mode immediate , так как хотел, чтобы события быстро отображались в файлах.

Мой fluent.conf:

 <match hack.**>
  @type file
  path hack
  append true
  <format>
    @type json
  </format>
  <buffer>
    flush_mode immediate
  </buffer>
</match>
 

Раньше я curl публиковал события и проверял содержимое файла.

 $ curl -X POST http://localhost:8888/hack.access  -d 'json={"no":"1"}'
$ cat hack.20211202.log
{"no":"1"}
$ curl -X POST http://localhost:8888/hack.access  -d 'json={"no":"2"}'
$ cat hack.20211202.log
{"no":"1"}
 

Я использовал fluentd 1.14.3 (установленный с gem) на macOS.

Ruby versin: ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin19]

Ответ №1:

Это ошибка Fluentd. Подробнее см. https://github.com/fluent/fluentd/issues/3569