我正在尝试使用 Fluentd 创建一个 API,该 API 通过 HTTP 接收事件,解析这些事件,然后在响应中将解析的事件数据返回给客户端。
我已经能够在Fluentd中设置HTTP端点并验证它是否正在接收数据。但是,从文档中,我找不到将数据返回到响应正文中的客户端的方法。
我从Fluentd文档中的标准HTTP示例开始:
<source>
@type http
@id input_http
port 8888
</source>
<match debug.**>
@type stdout
@id output_stdout
</match>
当我卷曲端点时
curl -i -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test
这就是我得到的:
HTTP/1.1 200 OK
Content-Type: text/plain
Connection: Keep-Alive
Content-Length: 0
所以端点正在工作,但我需要它向客户端返回数据。
除了状态代码信息外,如何修改配置以在响应中返回数据?我是否需要添加输出,或者可以通过修改输入来完成此操作?显然,我需要添加某种类型的解析器或 exec 过滤器来在返回数据之前对其进行修改,但现在,我只是想让它返回请求正文。
Fluentd 是具有输入、输出和转换的日志聚合器和收集器。它不能像您想要的那样作为 API 工作。