I'm trying to get an understanding for how Filebeat treats multiple inputs with dissimilar volumes.
For example: if I am using Filebeat to transport logs from two files—one high volume and one low volume—will the inputs be evenly consumed so long as there are lines to process, or will they be consumed proportional to their volume?
The only reference to how multiple inputs are treated that I can find in the documentation (please correct me if I've missed something) is that each input runs in its own Goroutine. I understand this as meaning one of two things: either that there are no guarantees, or that there are guarantees implied by Goroutine usage which aren't detailed in the documentation.
What I'm trying to guarantee, essentially, is a balanced QoS / equal priority, so that even if there are a million lines to ship from the high volume file, any new lines in the low volume file come through at the same rate; I'm unsure if Filebeat makes any such guarantees.