我一直在尝试将Fluent位配置为TCP输出插件。据我观察,在每个JSON日志刷新中,Fluent位一直在启动和关闭与目标服务器的TCP连接。但是,我们希望有一个恒定的连接并通过它进行流日志。
最近配置的选项是TCP输出插件的“格式化json_stream”。应该Fluentbit建立并保持连接以通过TCP流传输还是每次刷新都需要一个新连接?
这是一个守护程序集,由一个通过本地主机与服务器容器通信的Fluentbit容器组成。
非常感谢您提供任何帮助!
"filter-kubernetes.conf" = <<-EOT
[FILTER]
Name kubernetes
Match app.*
Kube_URL https://kubernetes.default.svc:443
Merge_Log On
Merge_Log_Trim On
Keep_Log Off
K8S-Logging.Parser Off
[FILTER]
Name grep
Match app.*
Regex stream stdout
[FILTER]
Name record_modifier
Match app.*
Remove_key annotations
EOT
"fluent-bit.conf" = <<-EOT
[SERVICE]
Flush 1
Log_Level info
Daemon off
Parsers_File parsers.conf
HTTP_Server On
HTTP_Listen 0.0.0.0
HTTP_Port 2020
@INCLUDE input-sources.conf
@INCLUDE filter-kubernetes.conf
@INCLUDE output-nats.conf
EOT
"input-sources.conf" = <<-EOT
[INPUT]
Name tail
Tag app.*
Path /var/log/containers/*.log
Parser docker
DB /var/log/flb_kube.db
Mem_Buf_Limit 5MB
Skip_Long_Lines On
Refresh_Interval 10
EOT
[OUTPUT]
Name tcp
Match *car*
Format json_stream
json_date_format iso8601
json_date_key timestamp
Host 127.0.0.1
Port 1111
EOT
"parsers.conf" = <<-EOT
[PARSER]
Name docker
Format json
Time_Key time
Time_Format %Y-%m-%dT%H:%M:%S.%L
Time_Keep On
EOT
}
}