Fluentd has nine (9) types of plugins:
This article gives an overview of the Output Plugin.
Fluentd v1.0 output plugins have three (3) buffering and flushing modes:
- Non-Buffered mode does not buffer data and write out resultsimmediately.
- Synchronous Buffered mode has "staged" buffer chunks (a chunk is acollection of events) and a queue of chunks, and its behavior can becontrolled by
<buffer>section (See the diagram below).
- Asynchronous Buffered mode also has "stage" and "queue", butthe output plugin will not commit writing chunks in methodssynchronously, but commit them later.
Fluentd v1.0 Plugin API Overview
Output plugins can support all the modes, but may support just one of these modes. Fluentd chooses appropriate mode automatically if there are no
<buffer>sections in the configuration. If the users specify
<buffer>section for the output plugins that do not support buffering, Fluentd will raise configuration errors.
Output plugins in v1 can control keys of buffer chunking by configurations, dynamically. Users can configure buffer chunk keys as time (any unit specified by user), tag and any key name of records. Output plugin will split events into chunks: events in a chunk have the same values for chunk keys. The output plugin's buffer behavior (if any) is defined by a separate Buffer plugin. Different buffer plugins can be chosen for each output plugin.