Loki 插件的 Fluent Bit 到 Fluentd 转发问题

问题描述 投票:0回答:1

描述:
我有一个设置,Fluent Bit 安装在 IoT 设备上。该设备配置为将其日志转发到 EKS 集群中运行的 Fluentd Pod,该集群通过 AWS 网络负载均衡器 (NLB) 公开。该 Fluentd pod 的主要作用是充当聚合器,然后将这些日志转发到 Loki 实例。

但是,我遇到了一个问题,当尝试从 Fluent-Bit 发送日志时,Fluentd 报告“传入块已损坏”错误。该错误的确切原因尚不清楚。这可能与配置不匹配或其他潜在问题有关。

配置:

Fluentd 配置:

fluentd.conf: |
    <source>
      @type forward
      port 24224
      resolve_hostname true
    </source>

    <match **>
      @type loki
      url http://my-loki-url:3100
      extra_labels {“job”:“fluentd”}
      <buffer>
        flush_interval 10s
        flush_at_shutdown true
      </buffer>
    </match>

流畅的位配置:

[SERVICE]
    Flush        1
    Daemon       Off
    Log_Level    debug

[INPUT]
    Name         cpu
    Tag          cpu_usage

[OUTPUT]
    Name         forward
    Match        *
    Host         dns of the fluentd
    Port         24224

[OUTPUT]
    Name          stdout
    Match         *

预期行为:
Fluent Bit 应将日志无缝转发到 EKS 集群中的 Fluentd pod。然后,Fluentd 应处理这些日志并将其转发给 Loki,确保捕获来自 IoT 设备的所有日志并将其存储在 Loki 中进行分析。

实际行为:
Fluentd 在从 Fluent-Bit 转发日志的过程中遇到“传入块已损坏”错误。

enter image description here

更新:

深入研究该问题后,我开始相信“传入块已损坏”错误与 AWS 网络负载均衡器 (NLB) 的运行状况检查有关。即使没有发送任何日志,也会出现此错误,这表明该错误可能是在 NLB 执行运行状况检查时自动触发的。

此外,当我切换到

grafana/fluent-plugin-loki:main
图像时,我遇到了另一个问题:
config error file="/fluentd/etc/fluentd.conf" error_class=Fluent::ConfigError error="Unknown output plugin ' loki'"

非常感谢有关这些问题的任何见解或建议。谢谢!

logging fluent grafana-loki
1个回答
0
投票

解决方案:

我已经成功解决了我面临的问题。对于那些将来可能遇到类似问题的人,我已在此 GitHub Issue 中记录了整个故障排除过程和解决方案:https://github.com/grafana/loki/issues/10254.

© www.soinside.com 2019 - 2024. All rights reserved.