【问题标题】:td-agent buffer violates size & only worker 0 accumulates logstd-agent 缓冲区违反大小 & 只有工人 0 累积日志
【发布时间】:2019-10-13 13:18:27
【问题描述】:

缓冲区累积超出大小限制

-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 日志仅显示 worker #0 处理。

主机 172.168.3.10 上的td-agent 被关闭以检查缓冲区状况是否正常

    <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>

缓冲区不应超过其大小,并且两个工作人员都需要处理日志缓冲区。

【问题讨论】:

    标签: fluentd


    【解决方案1】:

    其实我自己也有答案。

    du -sh 包括 sam 目录大小。 所以为了避免混淆,我只是添加了所有缓冲区文件的大小。 仍然超过1M。 我做了一些谷歌搜索,终于知道td-agent 缓冲区在限制大小的同时只考虑 .log 文件。我的意思是,只需添加 .log(真实缓冲区)文件而不是 .log.meta(缓冲区信息),然后我发现大小为 1M,这是正确的。 所以,我总结说td-agent 尊重缓冲区大小。

    对于 worker0 上的日志累积,因为只有 worker0 被设置为侦听端口 8514。这就是为什么所有来自该端口的日志都由 worker0 处理

    如果我错了,请纠正我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多