【问题标题】:Fluentd - send json using pythonFluentd - 使用 python 发送 json
【发布时间】:2020-06-22 15:41:34
【问题描述】:

我有一个 Fluentd 服务器,它被配置为通过 TCP 接受 json 数据并在匹配时将其输出到 std。配置是:

<source>
 @type tcp
 tag json_logs
 port 12312
 format json
 bind 0.0.0.0
</source>

<match **>
@type stdout
</match>

当尝试使用 netcat 发送消息时,一切正常 - 消息被接收并显示在输出中。我面临的问题是尝试通过 python 发送消息 - 消息似乎接收良好(我正在使用 tcpdump 检查服务器接收的内容),但在输出中没有显示任何内容,甚至没有显示错误。另一个细节是,如果我尝试从 python 发送格式错误的 json,则会在输出中显示一条消息 - 一条“模式不匹配”​​消息。

我用来发送消息的代码:

from pyfluent.client import FluentSender
logdata = '{ "prop1": "val1", "prop2": "val2" }'
fluent = FluentSender("host", 12312, "json_logs")
fluent.send(logdata)

【问题讨论】:

    标签: python fluentd


    【解决方案1】:

    发现问题 - Fluentd 服务器只接受使用“ASCII”编码接收的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多