How to load external configuration file?

hi
we are trying to modularize all of the configurations as a standard. As per the https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-configuration-reloading.html link . I couldn't find a precise way of doing this for outputs, so my guess work was to

# Put the below config into auditbeat.yml

filebeat.config.outputs:
  enabled: true
  path: ouputs.d/*.yml

And created an ouputs.d directory and put a my_ouputs.yml file in outputs.d.

LICENSE.txt
NOTICE.txt
README.md
auditbeat
auditbeat.reference.yml
auditbeat.yml
data
fields.yml
kibana
logs
outputs.d

Is this the correct way?
I'm getting error
Exiting: No outputs are defined. Please define one under the output section.

Any ideas on modularizing the configs?

Hi @kelk, welcome to the Elastic community forums!

Currently Filebeat only allows external configuration files for modules and inputs. Moving your output configuration to an external configuration file is not supported. Feel free to file an issue for this enhancement request here: https://github.com/elastic/beats/issues/new?template=feature-request.md.

One thing I'll mention is that Filebeat (or really any Beat) can only have a single output. By contrast, Filebeat can have multiple inputs and/or modules. So moving those to external configuration files might make more sense than for a single output. But this is more just an opinion; I think if you can make a strong enough case for this in your enhancement request issue and there's interest from other users in the community as well, we'd definitely prioritize it!

Hope that helps,

Shaunak

1 Like

Thanks for the clarification. I will raise as enhancement request as we don't want to touch the core config files.

Raised: https://github.com/elastic/beats/issues/17842

Thank you for the information and advice! PrepaidCardStatus Login

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.