> For the complete documentation index, see [llms.txt](https://elastiflow.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elastiflow.gitbook.io/docs/elastiflow-documentation/configuration-reference/yaml-configuration-files.md).

# YAML Configuration Files

:::caution While we have added support for configuration via YAML files in 6.3.0, the default method of configuration remains the use of environment variables set in the systemd unit file for the collector daemon. For example, `/etc/systemd/system/flowcoll.service.d/flowcoll.conf` for the Unified Flow Collector binary flowcoll.

In a future release, the default configuration method will be via YAML files, as described on this page. :::

ElastiFlow now supports YAML configuration files for all binaries, with a default file location of `/etc/elastiflow/<binary_name>.yml`. These YAML files are compatible with all existing ElastiFlow settings, which are documented in the Configuration Reference.

Although environment variables are still available for configuring the collector, the systemd attributes file may be removed in future releases.

To use a YAML file for configuration, either place it in the default location or specify a custom location with the `--config` or `-c` flag when running the binary:

```bash
./flow-collector --config=/etc/elastiflow/flowcoll.yml
```

or

```bash
./flow-collector -c=/etc/elastiflow/flowcoll.yml
```

### Implementing YAML Configuration

This example demonstrates configuring logging settings for the ElastiFlow flow-collector binary using a `flowcoll.yml` file:

1. Create a new file called `flowcoll.yml` with the following content.

   ```yaml
   EF_LOGGER_LEVEL: 'info'
   EF_LOGGER_ENCODING: 'json'
   EF_LOGGER_FILE_LOG_ENABLE: true
   EF_LOGGER_FILE_LOG_FILENAME: '/var/log/elastiflow/flowcoll/flowcoll.log'
   EF_LOGGER_FILE_LOG_MAX_SIZE: 100
   EF_LOGGER_FILE_LOG_MAX_AGE: 7
   EF_LOGGER_FILE_LOG_MAX_BACKUPS: 4
   EF_LOGGER_FILE_LOG_COMPRESS: false
   ```
2. Customize the settings as needed and create additional YAML files for other ElastiFlow binaries if required.
3. Run the flow-collector binary with the `--config` flag, specifying the path to your `flowcoll.yml` file:

   ```bash
   ./flow-collector --config=/path/to/flowcoll.yml
   ```

For more information on supported configurations, consult the Configuration Reference
