|
2 | 2 |
|
3 | 3 | <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=864c6f0e-8977-4838-8772-84416943548e" /> |
4 | 4 |
|
5 | | -## Before you get started |
6 | | - |
7 | | -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. |
8 | | - |
9 | | -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. |
10 | | - |
11 | | -The YAML format enables features, such as processors, that aren't possible to configure in `classic` mode. |
12 | | - |
13 | | -As of Fluent Bit v3.2, you can configure everything in YAML. |
14 | | - |
15 | | -## List of available sections |
16 | | - |
17 | | -Configuring Fluent Bit with YAML introduces the following root-level sections: |
18 | | - |
19 | | -| Section Name | Description | |
20 | | -|--------------|-------------| |
21 | | -| `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. | |
22 | | -| `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. | |
23 | | -| `multiline_parsers` | Lists multiline parsers, functioning similarly to `parsers`. Multiple definitions can exist either in the root or in included files. | |
24 | | -| `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. | |
25 | | -| `plugins` | Specifies the path to external plugins (`.so` files) to be loaded by Fluent Bit at runtime. | |
26 | | -| `upstream_servers` | Refers to a group of node endpoints that can be referenced by output plugins that support this feature. | |
27 | | -| `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. | |
28 | | - |
29 | | -## Section documentation |
30 | | - |
31 | | -To access detailed configuration guides for each section, use the following links: |
32 | | - |
33 | | -- [Service Section documentation](./yaml/service-section.md) |
34 | | - - Overview of global settings, configuration options, and examples. |
35 | | -- [Parsers Section documentation](./yaml/parsers-section.md) |
36 | | - - Detailed guide on defining parsers and supported formats. |
37 | | -- [Multiline Parsers Section documentation](./yaml/multiline-parsers-section.md) |
38 | | - - Explanation of multiline parsing configuration. |
39 | | -- [Pipeline Section documentation](./yaml/pipeline-section.md) |
40 | | - - Details on setting up pipelines and using processors. |
41 | | -- [Plugins Section documentation](./yaml/plugins-section.md) |
42 | | - - How to load external plugins. |
43 | | -- [Upstream Servers Section documentation](./yaml/upstream-servers-section.md) |
44 | | - - Guide on setting up and using upstream nodes with supported plugins. |
45 | | -- [Environment Variables Section documentation](./yaml/environment-variables-section.md) |
46 | | - - Information on setting environment variables and their scope within Fluent Bit. |
47 | | -- [Includes Section documentation](./yaml/includes-section.md) |
48 | | - - Description on how to include external YAML files. |
| 5 | +In Fluent Bit v3.2 and later, YAML configuration files support all of the settings |
| 6 | +and features that [classic configuration files](../administration/configuring-fluent-bit/classic-mode.md) support, plus additional features that classic configuration files |
| 7 | +don't support, like processors. |
| 8 | + |
| 9 | +YAML configuration files support the following top-level sections: |
| 10 | + |
| 11 | +- `env`: Configures [environment variables](../administration/configuring-fluent-bit/yaml/environment-variables-section). |
| 12 | +- `includes`: Specifies additional YAML configuration files to [include as part of a parent file](../administration/configuring-fluent-bit/yaml/includes-section). |
| 13 | +- `service`: Configures global properties of the Fluent Bit [service](../administration/configuring-fluent-bit/yaml/service-section). |
| 14 | +- `pipeline`: Configures active [`inputs`, `filters`, and `outputs`](../administration/configuring-fluent-bit/yaml/pipeline-section). |
| 15 | +- `parsers`: Defines [custom parsers](../administration/configuring-fluent-bit/yaml/parsers-section). |
| 16 | +- `multiline_parsers`: Defines [custom multiline parsers](../administration/configuring-fluent-bit/yaml/multiline-parsers-section). |
| 17 | +- `plugins`: Defines paths for [custom plugins](../administration/configuring-fluent-bit/yaml/plugins-section). |
| 18 | +- `upstream_servers`: Defines [nodes](../administration/configuring-fluent-bit/yaml/upstream-servers-section) for output plugins. |
| 19 | + |
| 20 | +{% hint style="info" %} |
| 21 | +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>. |
| 22 | +{% endhint %} |
0 commit comments