缓冲区累积超出大小限制
-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
调低以检查缓冲区条件是否正常
<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>
缓冲区不应超出其大小,并且两个工作人员都需要处理日志缓冲区。
答案 0 :(得分:0)
实际上,我自己回答了。
du -sh
包含sam目录大小。
为了避免混淆,我只添加了所有缓冲区文件的大小。
仍然超过1M。
我进行了一次谷歌搜索,终于知道td-agent
缓冲区只考虑了.log文件,同时限制了大小。我的意思是,只添加.log(真实缓冲区)文件而不是.log.meta(缓冲区信息),然后我发现大小为1M是正确的。
因此,我得出结论说td-agent
尊重缓冲区的大小。
对于worker0上的日志积累,由于仅将worker0设置为侦听端口8514。因此,进入此端口的所有日志都由worker0处理
如果我错了,请纠正我。