即使格式错误的请求,LogStash也会返回200 OK

时间:2017-08-15 12:15:06

标签: logstash http-error

我正在使用Postman测试LogStash,我尝试向localhost:5556/debug/warning发送一个请求,其中包含格式错误或缺失的正文(例如,JSON具有{{{且没有结束括号)以查看我发生的错误我会的。令我惊讶的是,LogStash仍然给我200 OK。我以为我会得到400 Bad Request或类似的。

如果缺少它所连接的ES实例,它甚至会返回200 OK(并且/ health检查报告在这种情况下连接失败)。

LogStash是正常的吗?

1 个答案:

答案 0 :(得分:1)

如果您使用http输入插件接收请求,则仅当Content-Typeapplication/json时才使用json编解码器(请参阅here)。这样可以解释为什么,在格式错误的json的情况下,返回200代码。

对于缺少ES实例的情况,200代码仅表示http输入插件已接收到请求,并且请求已被传输到队列以供管道中的下一个插件处理(您可以查看代码here)。

当elasticsearch输出插件无法将请求发送到elasticsearch时,http输入插件已经发送了200个代码,表示它已正确接收到该消息。