首页 > 解决方案 > 由于错误 %!s(int32=1)]]/%!d(MISSING) 放弃代理 %!d(MISSING),Filebeat 未流式传输到 kafka

问题描述

我的 filebeat 探矿者的配置为

         prospectors:
            - type: log
              paths: /var/log/nginx/*error*.log
              enabled: true
              fields:
                source_type: topic-secerror-nginx
        output.kafka:
           hosts: ["kafkahost:kafkaport"]
           topic: "%{[fields][source_type]}"

我在 filebeat 中遇到奇怪的错误,如下所示

        2019-11-20T10:25:08.167Z    INFO    kafka/log.go:36 producer/broker/[[3 %!d(string=topic-secerror-nginx) 2]] state change to [open] on %!s(MISSING)/%!d(MISSING)

        2019-11-20T10:25:08.167Z    INFO    kafka/log.go:36 producer/leader/[[topic-secerror-nginx %!s(int32=2) %!s(int=3)]]/%!d(MISSING) state change to [flushing-%!d(MISSING)]

        2019-11-20T10:25:08.167Z    INFO    kafka/log.go:36 producer/leader/[[topic-secerror-nginx %!s(int32=2)]]/%!d(MISSING) state change to [normal]

kafka 不使用从 filebeat 发送的任何信息。

当我将其设置为调试模式时,我的错误为

    %!s(int32=1)]]/%!d(MISSING) abandoning broker %!d(MISSING)

标签: kafka-consumer-apifilebeat

解决方案


我解决了这个问题。问题与防火墙在 filebeat 和 kafka 之间被阻止有关。当 filebeat 日志记录设置为调试时,得到与 TCP 连接被拒绝有关的附加信息。


推荐阅读