2017-08-15 1 views
2

Je teste LogStash en utilisant Postman, et j'ai essayé d'envoyer une demande à localhost:5556/debug/warning avec un corps mal formé ou manquant (par exemple JSON qui a {{{ et pas de parenthèses de fermeture) pour voir quelle erreur I ' J'obtiendrai. À ma grande surprise, LogStash me donne encore 200 OK. J'ai supposé que j'obtiendrais une 400 Bad Request ou similaire.LogStash renvoie 200 OK même sur demandes malformées

Il renvoie même 200 OK si l'instance ES à laquelle il se connecte est manquante (et le contrôle/health signale l'échec de se connecter dans ce cas).

Est-ce normal pour LogStash?

+0

Pouvez-vous montrer la configuration que vous avez? Et quelle version de Logstash utilisez-vous? – Val

Répondre

1

Si vous utilisez le plugin d'entrée http pour recevoir votre demande, le codec json est utilisé uniquement si le Content-Type est application/json (voir here). Cela peut donc expliquer pourquoi, dans le cas de json malformé, le code 200 est renvoyé. Pour le cas de l'instance ES manquante, le code 200 signale simplement que la requête a été reçue par le plugin d'entrée http et que la requête a été transmise à la file d'attente pour être traitée par les plugins suivants dans le pipeline (vous pouvez jeter un oeil au code here).

Lorsque le plugin de sortie elasticsearch ne parvient pas à envoyer la requête à elasticsearch, le plugin d'entrée http a déjà envoyé le code 200 indiquant qu'il a correctement reçu le message.

+0

J'étais application/json, cependant. – sashoalm

+0

Ensuite, je ne sais pas pourquoi vous avez obtenu 200 en réponse à un json mal formé. – baudsp