fluent-bit
fluent-bit copied to clipboard
in gelf: new plugin
Rebased on -> https://github.com/fluent/fluent-bit/pull/4156
New input plugin for ingest GELF messages from TCP and UDP. In UDP support for gzip and zlib compressed messages, and chunked messages.
Enter
[N/A]in the box, if an item is not applicable to your change.Testing Before we can approve your change; please submit the following in a comment:
[x] Example configuration file for the change
[N/A] Debug log output from testing the change
[x] Attached Valgrind output that shows no leaks or memory corruption was found
Documentation
- [x] Documentation required for this feature
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.
Can you link the docs PR?
Can we add any integration tests? https://github.com/fluent/fluent-bit-ci
I'm assigning this to myself so I can properly review it on monday.
It seems to me that this PR is packed with goodies but I think it needs to be split in three :
- The changes in
flb_gzip.c: for this one in particular I think the description should explain the changes it makes toflb_gzip_uncompressbecause @cosmo0920 is in the process of making some changes to it and I don't want this to cause unnecessary / avoidable hardships. - The gelf unpacker code should be submitted as a stand alone "component" just like
flb_pack_gelfand ideally if possible a parser that uses this new unpacker should be added. That way this new feature can be easily reused . - If by this point we determine that
in_tcpandin_udpcan't be improved to use the newly created gelf parser (or if we determine that the addition would improve ease of use greatly) a third PR with the output plugin should follow.
Obviously this is the "best case scenario" and I understand that not everyone might share these opinions but I do think we should at least try to find a middle ground to make the most out of this.