Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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