【发布时间】: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)
【问题讨论】: