elasticsearch - FluentBit 和 ES 的重复和缺失日志条目

我们正在使用 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/

相关文章:

react-native - React Native 中未生成短动态链接

javascript - 如何使 vuetify 复选框仅在单击框而不是标签时使用react?

html - 使用 selenium 抓取网页时缺少 HTML 内容

visual-studio - Visual Studio 2019 安装问题

angular - 从 - "createAction"函数获取类型

angular - 生成 Angular 库时的循环依赖

ios - Swift 2.0 .contextMenu 从核心数据中多次删除

perl - 我怎样才能确保函数永远不会在 perl 中同时执行?

laravel - 作业处理后留在待定列表中

unity3d - Rigidbody AddForce 在 Photon Unity 中不起作用