diff --git a/administration/configuring-fluent-bit/yaml/configuration-file.md b/administration/configuring-fluent-bit/yaml/configuration-file.md
index 4b2684cb8..76d4c91c3 100644
--- a/administration/configuring-fluent-bit/yaml/configuration-file.md
+++ b/administration/configuring-fluent-bit/yaml/configuration-file.md
@@ -1,38 +1,39 @@
---
-description: This page describes the yaml configuration file used by Fluent Bit
+description: Learn about the YAML configuration file used by Fluent Bit
---
-
+# YAML configuration file
-# YAML Configuration File
+
One of the ways to configure Fluent Bit is using a YAML configuration file that works at a global scope.
The YAML configuration file supports the following sections:
-* Env
-* Includes
-* Service
-* Pipeline
- * Inputs
- * Filters
- * Outputs
+- `Env`
+- `Includes`
+- `Service`
+- `Pipeline`
+ - `Inputs`
+ - `Filters`
+ - `Outputs`
-The YAML configuration file does not support the following sections yet:
-* Parsers
+The YAML configuration file doesn't support the following sections:
+
+- `Parsers`
{% hint style="info" %}
-YAML configuration is used in the smoke tests for containers, so an always-correct up-to-date example is here: .
+YAML configuration is used in the smoke tests for containers. An always-correct up-to-date example is here: .
{% endhint %}
-## Env
+## Env
-The _env_ section allows the definition of configuration variables that will be used later in the configuration file.
+The `env` section allows the definition of configuration variables that will be used later in the configuration file.
Example:
```yaml
-# setting up a local environment variable
+# Set up a local environment variable
env:
flush_interval: 1
@@ -43,11 +44,9 @@ service:
http_server: on
```
+## Includes
-
-## Includes
-
-The _includes_ section allows the files to be merged into the YAML configuration to be identified as a list of filenames. If no path is provided, then the file is assumed to be in a folder relative to the file referencing it.
+The `includes` section allows the files to be merged into the YAML configuration to be identified as a list of filenames. If no path is provided, then the file is assumed to be in a folder relative to the file referencing it.
Example:
@@ -59,31 +58,31 @@ includes:
```
-## Service
-
-The _service_ section defines the global properties of the service. The Service keys available as of this version are described in the following table:
-
-| Key | Description | Default Value |
-| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
-| flush | Set the flush time in `seconds.nanoseconds`. The engine loop uses a Flush timeout to define when is required to flush the records ingested by input plugins through the defined output plugins. | 5 |
-| grace | Set the grace time in `seconds` as an Integer value. The engine loop uses a Grace timeout to define the wait time on exit | 5 |
-| daemon | Boolean value to set if Fluent Bit should run as a Daemon (background) or not. Allowed values are: yes, no, on, and off. note: If you are using a Systemd based unit like the one we provide in our packages, do not turn on this option. | Off |
-| dns.mode | Sets the primary transport layer protocol used by the asynchronous DNS resolver, which can be overridden on a per plugin basis | UDP |
-| log_file | Absolute path for an optional log file. By default, all logs are redirected to the standard error interface (stderr). | |
-| log_level | Set the logging verbosity level. Allowed values are: off, error, warn, info, debug and trace. Values are accumulative, e.g., if 'debug' is set, it will include error, warning, info, and debug. Note that _trace_ mode is only available if Fluent Bit was built with the _WITH\_TRACE_ option enabled. | info |
-| parsers_file | Path for a `parsers` configuration file. Only a single entry is currently supported. | |
-| plugins_file | Path for a `plugins` configuration file. A _plugins_ configuration file allows the definition of paths for external plugins; for an example, [see here](https://github.com/fluent/fluent-bit/blob/master/conf/plugins.conf). | |
-| streams_file | Path for the Stream Processor configuration file. To learn more about Stream Processing configuration go [here](../../../stream-processing/introduction.md). | |
-| http_server | Enable built-in HTTP Server | Off |
-| http_listen | Set listening interface for HTTP Server when it's enabled | 0.0.0.0 |
-| http_port | Set TCP Port for the HTTP Server | 2020 |
-| coro_stack_size | Set the coroutines stack size in bytes. The value must be greater than the page size of the running system. Don't set too small a value (say 4096), or coroutine threads can overrun the stack buffer. Do not change the default value of this parameter unless you know what you are doing. | 24576 |
-| scheduler.cap | Set a maximum retry time in seconds. The property is supported from v1.8.7. | 2000 |
-| scheduler.base | Sets the base of exponential backoff. The property is supported from v1.8.7. | 5 |
-| json.convert_nan_to_null | If enabled, NaN is converted to null when fluent-bit converts msgpack to json. | false |
-| sp.convert_from_str_to_num | If enabled, Stream processor converts from number string to number type. | true |
-
-The following is an example of a _service_ section:
+## Service
+
+The `service` section defines the global properties of the service. The Service keys available as of this version are described in the following table:
+
+| Key | Description | Default Value |
+| --- | ----------- | ------------- |
+| `flush` | Set the flush time in `seconds.nanoseconds`. The engine loop uses a Flush timeout to define when to flush the records ingested by input plugins through the defined output plugins. | `5` |
+| `grace` | Set the grace time in `seconds` as an Integer value. The engine loop uses a Grace timeout to define the wait time on exit. | `5` |
+| `daemon` | Boolean value to set if Fluent Bit should run as a Daemon (background) or not. Allowed values are: `yes`, `no`, `on`, and `off`. If you are using a Systemd based unit like the one provided in the Fluent Bit packages, don't turn on this option. | `Off` |
+| `dns.mode` | Sets the primary transport layer protocol used by the asynchronous DNS resolver, which can be overridden on a per plugin basis | `UDP` |
+| `log_file` | Absolute path for an optional log file. By default, all logs are redirected to the standard error interface(`stderr`). | _none_ |
+| `log_level` | Set the logging verbosity level. Allowed values are: `off`, `error`, `warn`, `info`, `debug`, and `trace`. Values are accumulative. For example, if `debug` is set, it will include `error`, `warning`, `info`, and `debug`. `trace` mode is only available if Fluent Bit was built with the `WITH_TRACE` option enabled. | `info` |
+| `parsers_file` | Path for a `parsers` configuration file. Only a single entry is supported. | _none_ |
+| `plugins_file` | Path for a `plugins` configuration file. A `plugins` configuration file allows the definition of paths for external plugins; for an example, [see here](https://github.com/fluent/fluent-bit/blob/master/conf/plugins.conf). | _none_ |
+| `streams_file` | Path for the Stream Processor configuration file. Learn more about [Stream Processing configuration](../../../stream-processing/introduction.md). | _none_ |
+| `http_server` | Enable built-in HTTP server. | `Off` |
+| `http_listen` | Set listening interface for HTTP server when it's enabled. | `0.0.0.0` |
+| `http_port` | Set TCP Port for the HTTP server | `2020` |
+| `coro_stack_size` | Set the coroutines stack size in bytes. The value must be greater than the page size of the running system. Don't set too small a value (for example, `4096`), or coroutine threads can overrun the stack buffer. Don't change the default value of this parameter unless you know what you are doing. | `24576` |
+| `scheduler.cap` | Set a maximum retry time in seconds. Supported from v1.8.7. | `2000` |
+| `scheduler.base` | Sets the base of exponential backoff. Supported from v1.8.7. | `5` |
+| `json.convert_nan_to_null` | If enabled, NaN is converted to null when fluent-bit converts msgpack to JSON. | `false` |
+| `sp.convert_from_str_to_num` | If enabled, Stream processor converts from number string to number type. | `true |
+
+The following is an example of a `service` section:
```yaml
service:
@@ -92,11 +91,11 @@ service:
log_level: debug
```
-For scheduler and retry details, please check there: [scheduling and retries](../../scheduling-and-retries.md#Scheduling-and-Retries)
+For scheduler and retry details, see [scheduling and retries](../../scheduling-and-retries.md#Scheduling-and-Retries)
-## Pipeline
+## Pipeline
-A _pipeline_ section will define a complete pipeline configuration, including _inputs_, _filters_ and _outputs_ subsections.
+A `pipeline` section will define a complete pipeline configuration, including `inputs`, `filters`, and `outputs` subsections.
```yaml
pipeline:
@@ -108,7 +107,9 @@ pipeline:
...
```
-Each of the subsections for _inputs_, _filters_ and _outputs_ constitutes an array of maps that has the parameters for each. Most properties are either simple strings or numbers so can be define directly, ie:
+Each of the subsections for `inputs`, `filters`, and `outputs` constitutes an array of maps that has the parameters for each. Most properties are either strings or numbers and can be defined directly.
+
+For example:
```yaml
pipeline:
@@ -121,9 +122,9 @@ pipeline:
port: 8080
```
-This pipeline consists of two _inputs_; a tail plugin and an http server plugin. Each plugin has its own map in the array of _inputs_ consisting of simple properties. To use more advanced properties that consist of multiple values the property itself can be defined using an array, ie: the _record_ and _allowlist_key_ properties for the _record_modifier_ _filter_:
+This pipeline consists of two `inputs`: a tail plugin and an HTTP server plugin. Each plugin has its own map in the array of `inputs` consisting of simple properties. To use more advanced properties that consist of multiple values the property itself can be defined using an array, such as the `record` and `allowlist_key` properties for the `record_modifier` `filter`:
-```
+```yaml
pipeline:
inputs:
- name: tail
@@ -141,23 +142,23 @@ pipeline:
- message
```
-In the cases where each value in a list requires two values they must be separated by a space, such as in the _record_ property for the _record_modifier_ filter.
+In the cases where each value in a list requires two values they must be separated by a space, such as in the `record` property for the `record_modifier` filter.
-### Input
+### Input
-An _input_ section defines a source (related to an input plugin). Here we will describe the base configuration for each _input_ section. Note that each input plugin may add it own configuration keys:
+An `input` section defines a source (related to an input plugin). Each section has a base configuration. Each input plugin can add it own configuration keys:
-| Key | Description |
-| ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Name | Name of the input plugin. Defined as subsection of the _inputs_ section. |
-| Tag | Tag name associated to all records coming from this plugin. |
-| Log_Level | Set the plugin's logging verbosity level. Allowed values are: off, error, warn, info, debug and trace. Defaults to the _SERVICE_ section's _Log_Level._ |
+| Key | Description |
+| --- |------------ |
+| `Name` | Name of the input plugin. Defined as subsection of the `inputs` section. |
+| `Tag` | Tag name associated to all records coming from this plugin. |
+| `Log_Level` | Set the plugin's logging verbosity level. Allowed values are: `off`, `error`, `warn`, `info`, `debug`, and `trace`. Defaults to the `SERVICE` section's `Log_Level`. |
-The _Name_ is mandatory and it lets Fluent Bit know which input plugin should be loaded. The _Tag_ is mandatory for all plugins except for the _input forward_ plugin (as it provides dynamic tags).
+The `Name` is mandatory and defines for Fluent Bit which input plugin should be loaded. `Tag` is mandatory for all plugins except for the `input forward` plugin which provides dynamic tags.
#### Example input
-The following is an example of an _input_ section for the _cpu_ plugin.
+The following is an example of an `input` section for the `cpu` plugin.
```yaml
pipeline:
@@ -166,22 +167,22 @@ pipeline:
tag: my_cpu
```
-### Filter
+### Filter
-A _filter_ section defines a filter (related to a filter plugin). Here we will describe the base configuration for each _filter_ section. Note that each filter plugin may add its own configuration keys:
+A `filter` section defines a filter (related to a filter plugin). Each section has a base configuration and each filter plugin can add its own configuration keys:
| Key | Description |
| ----------- | ------------------------------------------------------------ |
-| Name | Name of the filter plugin. Defined as a subsection of the _filters_ section. |
-| Match | A pattern to match against the tags of incoming records. It's case-sensitive and supports the star (\*) character as a wildcard. |
-| Match_Regex | A regular expression to match against the tags of incoming records. Use this option if you want to use the full regex syntax. |
-| Log_Level | Set the plugin's logging verbosity level. Allowed values are: off, error, warn, info, debug and trace. Defaults to the _SERVICE_ section's _Log_Level._ |
+| `Name` | Name of the filter plugin. Defined as a subsection of the `filters` section. |
+| `Match` | A pattern to match against the tags of incoming records. It's case-sensitive and supports the star (`*`) character as a wildcard. |
+| `Match_Regex` | A regular expression to match against the tags of incoming records. Use this option if you want to use the full regular expression syntax. |
+| `Log_Level` | Set the plugin's logging verbosity level. Allowed values are: `off`, `error`, `warn`, `info`, `debug`, and `trace`. Defaults to the `SERVICE` section's `Log_Level`. |
-The _Name_ is mandatory and it lets Fluent Bit know which filter plugin should be loaded. The _Match_ or _Match_Regex_ is mandatory for all plugins. If both are specified, _Match_Regex_ takes precedence.
+`Name` is mandatory and lets Fluent Bit know which filter plugin should be loaded. The `Match` or `Match_Regex` is mandatory for all plugins. If both are specified, `Match_Regex` takes precedence.
#### Example filter
-The following is an example of a _filter_ section for the grep plugin:
+The following is an example of a `filter` section for the `grep` plugin:
```yaml
pipeline:
@@ -191,20 +192,20 @@ pipeline:
regex: log aa
```
-### Output
+### Output
-The _outputs_ section specify a destination that certain records should follow after a Tag match. Currently, Fluent Bit can route up to 256 _OUTPUT_ plugins. The configuration supports the following keys:
+The `outputs` section specifies a destination that certain records should follow after a `Tag` match. Fluent Bit can route up to 256 `OUTPUT` plugins. The configuration supports the following keys:
| Key | Description |
| ----------- | ------------------------------------------------------------ |
-| Name | Name of the output plugin. Defined as a subsection of the _outputs_ section. |
-| Match | A pattern to match against the tags of incoming records. It's case-sensitive and supports the star (\*) character as a wildcard. |
-| Match_Regex | A regular expression to match against the tags of incoming records. Use this option if you want to use the full regex syntax. |
-| Log_Level | Set the plugin's logging verbosity level. Allowed values are: off, error, warn, info, debug and trace. The output log level defaults to the _SERVICE_ section's _Log_Level._ |
+| `Name` | Name of the output plugin. Defined as a subsection of the `outputs` section. |
+| `Match` | A pattern to match against the tags of incoming records. It's case-sensitive and supports the star (`*`) character as a wildcard. |
+| `Match_Regex` | A regular expression to match against the tags of incoming records. Use this option if you want to use the full regular expression syntax. |
+| `Log_Level` | Set the plugin's logging verbosity level. Allowed values are: `off`, `error`, `warn`, `info`, `debug`, and `trace`. The output log level defaults to the `SERVICE` section's `Log_Level`. |
#### Example output
-The following is an example of an _output_ section:
+The following is an example of an `output` section:
```yaml
pipeline:
@@ -232,17 +233,17 @@ pipeline:
match: 'my*cpu'
```
-## Processors
+## Processors
-In recent versions of Fluent-Bit, the input and output plugins can run in separate threads. In Fluent-Bit 2.1.2, we have implemented a new interface called "processor" to extend the processing capabilities in input and output plugins directly without routing the data. This interface allows users to apply data transformations and filtering to incoming data records before they are processed further in the pipeline.
+Fluent-Bit 2.1.2 and greater implements an interface called "processor" to extend the processing capabilities in input and output plugins directly without routing the data. The input and output plugins can run in separate threads. This interface allows users to apply data transformations and filtering to incoming data records before they're processed further in the pipeline.
-This functionality is only exposed in YAML configuration and not in classic configuration mode due to the restriction of nested levels of configuration.
+This capability is only exposed in YAML configuration and not in classic configuration mode due to the restriction of nested levels of configuration.
[Processor example](configuration-file.md#example-using-processors)
### Example: Using processors
-The following configuration file example demonstrates the use of processors to change the log record in the input plugin section by adding a new key "hostname" with the value "monox", and we use lua to append the tag to the log record. Also in the ouput plugin section we added a new key named "output" with the value "new data". All these without the need of routing the logs further in the pipeline.
+The following configuration file example demonstrates the use of processors to change the log record in the input plugin section by adding a new key `hostname` with the value `monox`. It uses Lua to append the tag to the log record. The output plugin section adds a new key named `output` with the value `new data`.
```yaml
service: