# 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://elastiflow.gitbook.io/docs/elastiflow-documentation/configuration-reference/yaml-configuration-files.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
