【发布时间】:2015-12-10 17:34:01
【问题描述】:
我正在尝试通过 fluentd 从外部系统接收数据,如下所示: 数据={“版本”:“0.0”;“秘密”:null}
响应是: 400 错误请求 需要“json”或“msgpack”参数
如果我用“json”而不是“data”发送(不能更改真实来源)相同的字符串(如 json={"version":"0.0";"secret":null}),一切正常。我如何配置 fluentd 以同样的方式接受它?谢谢。
fluent.conf 示例:
<source>
@type http
port 24224
bind 0.0.0.0
# accept "{"key":"value"} input
format json
# accept "json={"key":"value"} input
#format default
</source>
<match **>
@type file
@id output1
path /fluentd/log/data.*.log
symlink_path /fluentd/log/data.log
format json
append true
time_slice_format %Y%m%d
time_slice_wait 10m
time_format %Y%m%dT%H%M%S%z
</match>
我尝试过使用正则表达式或通过 nginx 修改数据。由于编码和复杂的数据,正则表达式是不可能的,并且没有找到如何使用 nginx 修改 POST 数据的方法(这也是不好的方法)。
【问题讨论】:
标签: fluentd