Logstash TCP Socket 'Ready' but not writeable

I'm writing a JavaScript extension to run in nodejs for Winston to add Logstash as a transport over TCP.

The way I'm testing at the moment is running ELK within a set of 3 Docker containers and taking down the Logstash container then bringing it back up.

If the Logstash service is down for a period, I'm building a queue of log events to then send over the socket when Logstash comes back up. What I'm finding is that the 'ready' and 'connect' events are emitted by the socket and so it appears writeable, however, any log events I send right after the 'ready' event don't appear in Logstash.

I then receive an error event 'write EPIPE', the programme attempts a reconnect, that works and logging begins properly. This, of course, means that all the events that occurred before this point are lost.

Has anyone encountered anything similar or found a way to establish if the Logstash TCP plugin is ready for writing via TCP socket?


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.