rswestmoreland / rebeat

Elastic Beat for relaying events via LumberjackV2
Other
2 stars 0 forks source link

Lumberjack server based on go-lumber #1

Open urso opened 7 years ago

urso commented 7 years ago

Consider the server implementation provided by go-lumber (See tst-lj for sample server implementation). It's the project used by beats to implement the logstash output. Server and client implementations are kept in sync, such that projects using go-lumber will also work with future protocol iterations.

The code used in rebeat employs some 'old ACK handling' as used in logstash-forwarder. This can lead to problems if the beat is blocked in its output. The v2 server implementation will send a keep-alive (partial ACK when processing is blocked) in order to notify the client a batch of events is actively processed.

rswestmoreland commented 7 years ago

I had considered go-lumber, but I didn't know where to start. The Readme is almost blank and I didn't realize "cmd/tst-lj" meant test/example so I missed reviewing that part of the code. Now that I've looked over tst-lj I think I can figure out how to work that into Rebeat, but it's going to be awhile before I can overhaul this project. Thanks for the note.