Another one question related to this problem?
Where does log go when beats or nxlog sent it to logstash but the last one can't restranslate it to ES?
Does logstash have some kind of buffer for this case?
But what could happen if persistent queues is not enabled?
Event will store in-memory until what?
If logstash service restarts, all queued events will be lost?
But what could happen if persistent queues is not enabled?
Event will store in-memory until what?
Don't count on the in-memory store. It's very small. If it gets full Logstash will stop accepting new events which hopefully makes the sending party stop pushing more data. I don't know how NXLog behaves in this case, but Filebeat will simple let the events rest in the log files, i.e. the original log files become the buffer.
If logstash service restarts, all queued events will be lost?
You're right, if the shutdown is graceful and Logstash is able to wait for the internal queue to drain nothing will be lost. But, if the queue is full because the outputs are clogged Logstash can't do anything unless you've enabled the persistent queue.
I have another suggestion to check that is related to this thread.
Let's assume that logstash has two ES outputs. Connection with one of them is unstable.
Am I understand right that logstash will push events to BOTH ES synchroneously? So if one of outputs has unstable network connection then second output with good connection will not recieve events from logstash too. Is this correct?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.