Fluent Bit is a straightforward tool and to get started with it we need to understand its basic workflow. Consider the following diagram a global overview of it:
Entry point of data. Implemented through Input Plugins, this interface allows to gather or receive data. E.g: log file content, data over TCP, built-in metrics, etc.
Parsers allow to convert unstructured data gathered from the Input interface into a structured one. Parsers are optional and depend on Input plugins.
The filtering mechanism allows to alter the data ingested by the Input plugins. Filters are implemented as plugins.
By default, the data ingested by the Input plugins resides in memory until is routed and delivered to an Output interface.
Data ingested by an Input interface is tagged, that means that a Tag is assigned and this one is used to determine where the data should be routed based on a match rule.
An output defines a destination for the data. Destinations are handled by output plugins. Note that thanks to the Routing interface, the data can be delivered to multiple destinations.