Hello,
I'm a newbie with filebeat. (not sure my topic is at the right place)
My question is simple :
How to organize by project my filebeat configuration ?
For what I understand there is 3 places to configure stuff :
the main configuration file.
the modules.d directory for "ready" to use modules
the inputs.d directory but not sure is maintain in last version ?
In a beautifull world I :
do not want to modify main file in order to not manage new configuration options when the debian package is upgrade.
want to use a module when the project I work on fits on a module configuration.
group by project (all in one file) my configurations (one server can have several project)
Thats lead me to that idea :
1 main file (in inputs.d or somewhere else) to overwrite the filebeat.yml
1 file by project in inputs.d if it's work today as I do not see relevant part in main configuration
each project file with modules + inputs configuration inside.
What do you think about it, what can I really do, what I can't ?
Thx for your time &
sry for my english.
Hello @Just_Two_Cat_In_ABox
Welcome to the community!!
So looking at the input below is your idea?
/etc/filebeat/
│
├── filebeat.yml (Main config - minimal, upgrade-safe)
│ ├── filebeat.config.inputs:
│ │ path: inputs.d/*.yml
│ │ enabled: true
│ ├── filebeat.config.modules:
│ │ path: modules.d/*.yml
│ │ enabled: true
│ └── output.elasticsearch / logging / other global settings
│
├── inputs.d/ (Custom input configs grouped by project)
│ ├── projectA-inputs.yml
│ │ └── filebeat.inputs: (e.g., log paths, processors)
│ ├── projectB-inputs.yml
│ └── projectC-inputs.yml
│
├── modules.d/
│ ├── nginx.yml (enabled: true)
│ ├── apache.yml (enabled: true)
│ ├── system.yml (enabled: false or true)
│ └── other modules...
Also can review below post :
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 .
I have something like this.
The filebeat.yml would look like this:
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
flu…
Thanks!!