Fluentd & Fluent Bit Additional stuff

The latest update was provided on:


Suggested additional reading and useful technical resources related to Fluent Bit and Fluentd. Intended to be complimentary to the books Fluent Bit with Kubernetes and Logging in Action with Fluentd books.

  1. Additional Content on …
    1. Fluent Bit
    2. on Fluentd
  2. 3rd Party Resources
    1. Logging Frameworks
    2. Both Fluent Bit & Fluentd
    3. Fluent Bit
      1. Plugins and commercial use cases
    4. Fluentd
    5. Lua
    6. Zig
    7. Related Content
  3. General Tooling that can help
  4. Railroad Syntax Diagrams
    1. Stream Processor Configuration
    2. Fluent Bit Configuration RailRoad Diagrams

Additional Content on …

Fluent Bit

    on Fluentd


    3rd Party Resources

    Logging Frameworks

    Application Logging Frameworks can allow us to connect the generations and send logging messages directly to Fluent Bit and/or Fluentd, removing the I/O performance issues of going to a file and tailing the file. Many logging frameworks will talk about Fluentd – but will be capable of talking to Fluent Bit just as easily, as both support a number of common protocols such as HTTP and Forward, for example.

    It is also worth looking at whether the framework has a means to template outputs or a formatting mechanism that can address the common issue of log events (particularly stack traces) containing new lines, which can add additional work to combine into a single log event.

    Both Fluent Bit & Fluentd

    Fluent Bit

    Plugins and commercial use cases

    Fluentd


    Lua

    Zig



    General Tooling that can help


    Railroad Syntax Diagrams

    Stream Processor Configuration

    Fluent Bit Stream Processor Configuration Syntax

    While Fluent Bit’s core syntax is pretty straightforward, the syntax for the stream processing is a bit more complex, with a strong resemblance to SQL. As SQL is declarative in nature and can contain iterative and nested elements, RailRoad diagrams can really help.

    The original BNF definition of the Stream SQL syntax is here.

    Fluent Bit Configuration RailRoad Diagrams

    When it comes to the core configuration files, RailRoad diagrams aren’t as effective because the configuration is more declarative in nature. But we’ve tried to capture the core essence here. The only issue is that representing things like the use of @include, which can show up in most parts of the file – arent so easy, and a list of attributes for each possible standard plugin would make the diagram enormously large and unwieldy.

    Fluent Bit Classic Format Configuration

    We know there are gaps in the current diagrams, which will be addressed. Including:

    • YAML format
    • @include
    • We should show that environment variables can be references as attributes
    • A better way to show the required indentation and line separation