Буфер td-agent нарушает размер, и только рабочий 0 накапливает логи - PullRequest
0 голосов
/ 13 октября 2019

накопление буфера выходит за пределы размера

-rw-r--r--. 1 root root  867 Oct 13 08:42 worker0/buffer.q594ca13cc1d99db732af807368a5b95a.log
-rw-r--r--. 1 root root  105 Oct 13 08:42 worker0/buffer.q594ca13cc1d99db732af807368a5b95a.log.meta
-rw-r--r--. 1 root root  867 Oct 13 08:43 worker0/buffer.q594ca175fa6044eca4e6d229bf0b0855.log
-rw-r--r--. 1 root root  105 Oct 13 08:43 worker0/buffer.q594ca175fa6044eca4e6d229bf0b0855.log.meta
-rw-r--r--. 1 root root  867 Oct 13 08:45 worker0/buffer.q594ca1e86b5ad4ba4c27a47525449337.log
-rw-r--r--. 1 root root  105 Oct 13 08:45 worker0/buffer.q594ca1e86b5ad4ba4c27a47525449337.log.meta
-rw-r--r--. 1 root root  867 Oct 13 08:46 worker0/buffer.q594ca221a3bfb7c8f8c8615f67ccdabc.log
-rw-r--r--. 1 root root  105 Oct 13 08:46 worker0/buffer.q594ca221a3bfb7c8f8c8615f67ccdabc.log.meta
-rw-r--r--. 1 root root  867 Oct 13 08:47 worker0/buffer.q594ca25adc02e19e978cd80b3d606ecc.log
-rw-r--r--. 1 root root  105 Oct 13 08:47 worker0/buffer.q594ca25adc02e19e978cd80b3d606ecc.log.meta

Приведенные выше только некоторые журналы.

du -sh команда дает размер 1,7M, тогда как ограничение буфера установлено наТолько 1M.

Кроме того, все журналы собираются в папке worker0.

td-agent В журналах показана только обработка для работника # 0.

td-agent на хосте 172.168. 3.10 предназначен для проверки правильности работы буфера

    <system>
      workers 2
      log_level warn
      suppress_repeated_stacktrace true
    </system>

    <worker 0>
      <source>
        @type tcp
        port 8514
        bind 0.0.0.0
        format /(^(?<header>[^\{]+)?(?<message>\{.+type.+\})$)|(^(?<log>[^\{].+))/
         tag system
      </source>
    </worker>

    <source>
      @type syslog
      port 5140
      bind 0.0.0.0
      message_length_limit 6144
      format /(^(?<header>[^\{]+)?(?<message>\{.+type.+\})$)|(^(?<log>[^\{].+))/
      tag syslog
    </source>

      <match fwd.company.logging.product*.172.168.3.10**>
        @type copy
        <store>
          @type forward
          <server>
            host 172.168.3.10
            port 24224
          </server>
          <buffer>
            @type file
            path /appdata/td-agent/log/buffer/forward- 
            buffer/company.logging.product*.172.168.3.10
            flush_mode interval
            flush_interval 10s
            timekey 60
            retry_forever true
            retry_max_interval 5s
            overflow_action drop_oldest_chunk
            total_limit_size 1m
            flush_at_shutdown false
          </buffer>
        </store>
      </match>

Размер буфера не должен превышать его размер, и оба рабочих должны обрабатывать буферы журналов.

1 Ответ

0 голосов
/ 14 октября 2019

На самом деле, я получил ответ сам.

du -sh включает размер каталога sam. поэтому, чтобы избежать путаницы, я просто добавил размер всех буферных файлов. Тем не менее это было больше, чем 1 млн. Я немного погуглил и наконец узнал, что буфер td-agent просто учитывает файлы .log при ограничении размера. Я имею в виду, просто добавьте файлы .log (реальные буферы), а не .log.meta (информация для буфера), тогда я обнаружил, что размер равен 1M, что правильно. Итак, я в заключение говорю, td-agent уважает размер буфера.

Для накопления журналов на worker0, так как только worker0 настроен на прослушивание порта 8514. Поэтому все журналы, которые приходили на этот порт, были обработаны worker0

Пожалуйста, исправьте меня, если янеправильно.

...