Currently the Beats input supports the Lumberjack v1 protocol, which is documented in the PROTOCOL.md file in the logstash-input-beats repository. I'm currently using this to test the beats input and am interested in expanding it's use in our environment. However, my understanding is Lumberjack has been deprecated for Beats, but I'm not clear if the wire protocol has changed as well. Is this protocol deprecated? How long is it intended to be supported?
beats -> logstash still use lumberjack, but with version number being increased to v2. v2 adds support for a json data-frame and partial ACK that can also be used as keep-alive signal be returning ACK 0 until full batches have been processed.
Okay, so the PROTOCOL.md file is out of date, easily fixed with a PR. So to clarify the original question, the lumberjack protocol is still the official protocol and will be supported long term?
beats -> logstash uses lumberjack v2 from the very beginning. This is true for beats 1.x release and upcoming beats 5.x release.
As far as I can tell, the logstash beats input plugin supports both v1 and v2. If and when this will change once logstash forward (which uses lumberjack v1) out of lifetime I don't know. The beats plugin development is mostly driven by logstash. See github
No idea what you intend by 'officially supported'. Lumberjack v2 is the 'official' protocol used by beats->logstash only. Protocol might change as we see a need to do so to improve beats->logstash integration. There is no interest in 'officially' supporting any other tools using the protocol. Official implementations are available in go-lumber and logstash beat input plugin.
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.