Fluentbit 在 Debian 12 上未收到消息

Fluentbit not receiving message on Debian 12

提问人:Daniel Espinar 提问时间:11/15/2023 最后编辑:wjandreaDaniel Espinar 更新时间:11/16/2023 访问量:11

问:

我正在尝试使用 fluentbit 来管理我的系统日志。我已经按照手册说明在 Debian 12 机器上安装了 fluentbit v2.1.10。同时,我在 Ubuntu 22.04 中安装了相同版本的 fluentbit 来测试一些东西。在 Ubuntu 机器中,我正确地接收了消息,但在 Debian 机器中,消息内容为 null。(我以完全相同的方式发送消息,并且两台机器中的配置文件相同)。

我使用以下配置文件:

@SET    outputs_path=outputs
@SET    forward_host=0.0.0.0
@SET    forward_port=5170

[SERVICE]
    Flush       1
    Daemon      off
    Log_Level   debug

[INPUT]
    Name         forward
    Listen       ${forward_host}
    Port         ${forward_port}

[OUTPUT]
    Name        file
    Match       *
    Path        ${outputs_path}
    file        registries.logs

我用来测试它的脚本是:

from fluent import sender

HOST = '0.0.0.0'
PORT = 5170
TAG = 'app'

class FluentbitLogger():

    logger = None

    def __init__(self, host, port, tag) -> None:
        self.logger = sender.FluentSender(tag, host, port)
    
    def _send(self, level, type, action, message, label):
        self.logger.emit(label=label, data={'level': level, 'type': type, 'action': action, 'message': message})
    
    def info(self, type, action, message, label=None):
        self._send('INFO', type, action, message, label)
    
    def error(self, type, action, message, label=None):
        self._send('ERROR', type, action, message, label)
    
    def warning(self, type, action, message, label=None):
        self._send('WARNING', type, action, message, label)

    def debug(self, type, action, message, label=None):
        self._send('DEBUG', type, action, message, label)


logger = FluentbitLogger(HOST, PORT, TAG)
logger2 = FluentbitLogger('<ip of debian node>', PORT, TAG)

# Testing
logger.info('prueba_I', "Prueba de info", "Esto es una prueba de INFO", "extra")
logger2.info('prueba_I', "Prueba de info", "Esto es una prueba de INFO", "extra")

正如你所看到的,我向 ubuntu 机器(记录器)和 debian 机器(logger2)发送完全相同的内容。正如我已经说过的,fluentbit 配置文件在两种情况下都是相同的。

在 ubuntu 机器中,结果如预期:app.extra: [1700038958.000000000, {"level":"INFO","type":"prueba_I","action":"Prueba de info","message":"Esto es una prueba de INFO"}]

但是在 debian 机器中,结果是:app.nodo: [13051431720119697408.000000000, (null)]

正如你所看到的,标签是正确的,但数据是空的。两台机器的结果应该相同。

我已经在另外两台机器(一台 ubuntu 和一台 debian)中进行了测试,我得到了相同的结果(ubuntu 正确但 debian null),所以我想它与架构有关。

记录 Debian Fluent fluent-bit

评论


答: 暂无答案