# Multiple YAML Files (Modular Configs)

**URL:** <https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399>\
**Category:** Beats\
**Tags:** filebeat\
**Created:** [March 26, 2025, 2:50am UTC](https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399 "2025-03-26T02:50:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Thirupathi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/thirupathi/32/145431_2.png) [@Thirupathi](https://discuss.elastic.co/u/Thirupathi)\
**Post date:** [March 26, 2025, 2:50am UTC](https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399/1 "2025-03-26T02:50:28Z")

</div>

would have several smaller YAML files, and the primary configuration (`filebeat.yml`) will reference them.?

/etc/filebeat/  
├── filebeat.yml # Main configuration file  
├── inputs.yml # Input-specific settings  
├── processors.yml # Processor-specific settings  
├── outputs.yml # Output settings  
└── logging.yml # Logging-specific settings  
ould have several smaller YAML files, and the primary configuration (`filebeat.yml`) will reference them.  
filebeat.config:  
inputs:  
enabled: true  
path: /etc/filebeat/inputs.yml  
processors:  
enabled: true  
path: /etc/filebeat/processors.yml  
outputs:  
enabled: true  
path: /etc/filebeat/outputs.yml  
logging:  
enabled: true  
path: /etc/filebeat/logging.yml

---

<div class="post-metadata">

**Author:** ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)\
**Post date:** [March 26, 2025, 4:44am UTC](https://discuss.elastic.co/t/multiple-yaml-files-modular-configs/376399/2 "2025-03-26T04:44:15Z")

</div>

> [@Thirupathi](#):
>
> /etc/filebeat/  
> ├── filebeat.yml # Main configuration file  
> ├── inputs.yml # Input-specific settings  
> ├── processors.yml # Processor-specific settings  
> ├── outputs.yml # Output settings  
> └── logging.yml # Logging-specific settings

This is not possible, it is not supported, you need to use `filebeat.yml` for those configurations, except the inputs.

For the inputs you can load its configuration from external config files as described [in the documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-configuration-reloading.html).

I have something like this.

The `filebeat.yml` would look like this:

```auto
name: "node-name"

filebeat.config.inputs:
  enabled: true
  path: "/etc/filebeat/inputs/*.yml"

setup.ilm.enabled: false
ilm.enabled: false
setup.template.enabled: false

queue.mem:
  events: 8000
  flush.min_events: 500
  flush.timeout: 1s

output.kafka:
  output configuration

```

Then in the `/etc/filebeat/inputs/` path I would put multiple `yml` files with the inputs I want, something like this:

```auto
- type: filestream
  paths:
    - /path/to/file/*.json

```
