J'utilise Logstash pour lire et analyser les journaux d'un fichier et les envoyer à une API basée sur le repos. Mon expéditeur fonctionne bien, mais j'ai un comportement étrange.Logstash conserve toujours un message dans PipeLine
Version:
logstash-2.3.2
Problème:
Lorsque l'expéditeur Logstash la première entrée parse journal, il ne l'envoie pas, il le maintient dans le pipeline. Lorsqu'il analyse la deuxième entrée de journal, il envoie la première entrée de journal à l'API. Par conséquent, un message reste toujours dans le pipeline et il n'est pas envoyé vers mon API.
Chaque fois que j'arrête mon processus d'expéditeur de Logstash, il envoie également le dernier message restant. Donc, dans un sens, aucun message n'est perdu, mais l'expéditeur est toujours un message derrière.
Pourquoi est-il impossible à Logstash de vider son pipeline et d'envoyer un message à l'API dès sa réception.
Il pourrait provenir d'un filtre multiligne/codec: le filtre/codec gardera le message afin de pouvoir le fusionner avec le prochain si nécessaire. – baudsp