Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,4 @@ redirects:
installation/supported-platforms: ./installation/downloads.md
about/sandbox-and-lab-resources: ./about/resources.md
installation/downloads/amazon-ec2: ./installation/downloads/linux/amazon-linux.md
administration/configuring-fluent-bit/yaml/configuration-file: ./administration/configuring-fluent-bit/yaml.md
5 changes: 2 additions & 3 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@

* [Configure Fluent Bit](administration/configuring-fluent-bit.md)
* [YAML configuration](administration/configuring-fluent-bit/yaml.md)
* [Configuration file](administration/configuring-fluent-bit/yaml/configuration-file.md)
* [Environment variables](administration/configuring-fluent-bit/yaml/environment-variables-section.md)
* [Includes](administration/configuring-fluent-bit/yaml/includes-section.md)
* [Service](administration/configuring-fluent-bit/yaml/service-section.md)
Expand Down Expand Up @@ -133,14 +132,14 @@
* [LTSV](pipeline/parsers/ltsv.md)
* [Regular expression](pipeline/parsers/regular-expression.md)
* [Processors](pipeline/processors.md)
* [Conditional processing](pipeline/processors/conditional-processing.md)
* [Content modifier](pipeline/processors/content-modifier.md)
* [Filters as processors](pipeline/processors/filters.md)
* [Labels](pipeline/processors/labels.md)
* [Metrics selector](pipeline/processors/metrics-selector.md)
* [OpenTelemetry envelope](pipeline/processors/opentelemetry-envelope.md)
* [Sampling](pipeline/processors/sampling.md)
* [SQL](pipeline/processors/sql.md)
* [Filters as processors](pipeline/processors/filters.md)
* [Conditional processing](pipeline/processors/conditional-processing.md)
* [Filters](pipeline/filters.md)
* [AWS metadata](pipeline/filters/aws-metadata.md)
* [CheckList](pipeline/filters/checklist.md)
Expand Down
62 changes: 18 additions & 44 deletions administration/configuring-fluent-bit/yaml.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,47 +2,21 @@

<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=864c6f0e-8977-4838-8772-84416943548e" />

## Before you get started

YAML has become essential in a cloud ecosystem. To minimize friction and provide a more intuitive experience for creating data pipelines, users are encouraged to transition to YAML.

Fluent Bit traditionally offered a `classic` configuration mode, a custom configuration format that's phasing out. While `classic` mode has served well for many years, it has several limitations. Its basic design only supports grouping sections with key-value pairs and lacks the ability to handle sub-sections or complex data structures like lists.

The YAML format enables features, such as processors, that aren't possible to configure in `classic` mode.

As of Fluent Bit v3.2, you can configure everything in YAML.

## List of available sections

Configuring Fluent Bit with YAML introduces the following root-level sections:

| Section Name | Description |
|--------------|-------------|
| `service` | Describes the global configuration for the Fluent Bit service. Optional. If not set, default values will apply. Only one `service` section can be defined. |
| `parsers` | Lists parsers to be used by components like inputs, processors, filters, or output plugins. You can define multiple `parsers` sections, which can also be loaded from external files included in the main YAML configuration. |
| `multiline_parsers` | Lists multiline parsers, functioning similarly to `parsers`. Multiple definitions can exist either in the root or in included files. |
| `pipeline` | Defines a pipeline composed of inputs, processors, filters, and output plugins. You can define multiple `pipeline` sections, but they won't operate independently. Instead, all components will be merged into a single pipeline internally. |
| `plugins` | Specifies the path to external plugins (`.so` files) to be loaded by Fluent Bit at runtime. |
| `upstream_servers` | Refers to a group of node endpoints that can be referenced by output plugins that support this feature. |
| `env` | Sets a list of environment variables for Fluent Bit. System environment variables are available, while the ones defined in the configuration apply only to Fluent Bit. |

## Section documentation

To access detailed configuration guides for each section, use the following links:

- [Service Section documentation](./yaml/service-section.md)
- Overview of global settings, configuration options, and examples.
- [Parsers Section documentation](./yaml/parsers-section.md)
- Detailed guide on defining parsers and supported formats.
- [Multiline Parsers Section documentation](./yaml/multiline-parsers-section.md)
- Explanation of multiline parsing configuration.
- [Pipeline Section documentation](./yaml/pipeline-section.md)
- Details on setting up pipelines and using processors.
- [Plugins Section documentation](./yaml/plugins-section.md)
- How to load external plugins.
- [Upstream Servers Section documentation](./yaml/upstream-servers-section.md)
- Guide on setting up and using upstream nodes with supported plugins.
- [Environment Variables Section documentation](./yaml/environment-variables-section.md)
- Information on setting environment variables and their scope within Fluent Bit.
- [Includes Section documentation](./yaml/includes-section.md)
- Description on how to include external YAML files.
In Fluent Bit v3.2 and later, YAML configuration files support all of the settings
and features that [classic configuration files](../administration/configuring-fluent-bit/classic-mode.md) support, plus additional features that classic configuration files
don't support, like processors.

YAML configuration files support the following top-level sections:

- `env`: Configures [environment variables](../administration/configuring-fluent-bit/yaml/environment-variables-section).
- `includes`: Specifies additional YAML configuration files to [include as part of a parent file](../administration/configuring-fluent-bit/yaml/includes-section).
- `service`: Configures global properties of the Fluent Bit [service](../administration/configuring-fluent-bit/yaml/service-section).
- `pipeline`: Configures active [`inputs`, `filters`, and `outputs`](../administration/configuring-fluent-bit/yaml/pipeline-section).
- `parsers`: Defines [custom parsers](../administration/configuring-fluent-bit/yaml/parsers-section).
- `multiline_parsers`: Defines [custom multiline parsers](../administration/configuring-fluent-bit/yaml/multiline-parsers-section).
- `plugins`: Defines paths for [custom plugins](../administration/configuring-fluent-bit/yaml/plugins-section).
- `upstream_servers`: Defines [nodes](../administration/configuring-fluent-bit/yaml/upstream-servers-section) for output plugins.

{% hint style="info" %}
YAML configuration is used in the smoke tests for containers. An always-correct up-to-date example is here: <https://github.com/fluent/fluent-bit/blob/master/packaging/testing/smoke/container/fluent-bit.yaml>.
{% endhint %}
Loading