我们正在使用 FluentBit
将微服务日志传输到 ES
中,最近在其中一个环境中发现了一个问题:一些日志条目重复(多达数百次) ) 而 ES/Kibana
中缺少其他条目,但可以在微服务的容器中找到 (kubectl logs my-pod -c my-service
)。
每个重复的日志条目都有一个唯一的 _id
和 _fluentBitTimestamp
所以看起来问题确实出在 FluentBit 方面。
FluentBit版本为1.5.6,配置为:
[SERVICE]
Flush 1
Daemon Off
Log_Level info
Log_File /fluent-bit/log/fluent-bit.log
Parsers_File /fluent-bit/etc/parsers.conf
Parsers_File /fluent-bit/etc/parsers_java.conf
[INPUT]
Name tail
Path /home/xng/log/*.log
Exclude_Path /home/xng/log/*.zip
Parser json
Buffer_Max_Size 128k
[FILTER]
Name record_modifier
Match *
Record hostname ${HOSTNAME}
[OUTPUT]
Name es
Match *
Host es-logging-service
Port 9210
Type flink-logs
Logstash_Format On
Logstash_Prefix test-env-logstash
Time_Key _fluentBitTimestamp
如有任何帮助,我们将不胜感激。
最佳答案
我们遇到了同样的问题 你能试试你的配置吗 Write_operation upsert 因此,如果日志有重复的 _id,它将更新而不是创建 请注意,更新和更新插入场景需要 Id_Key 或 Generate_ID。
https://docs.fluentbit.io/manual/pipeline/outputs/elasticsearch#write_operation
https://stackoverflow.com/questions/64861559/