How do I structure modules for ELK/Elastic Stack in Salt?

When structuring modules for an ELK/Elastic Stack in Salt, it's essential to have a well-organized directory structure to manage configurations, states, and files efficiently. Below is an example of how to set up the modules for the Elastic Stack with proper subdirectories for each component.

. ├── salt/ │ ├── elk/ │ │ ├── apache/ │ │ │ └── init.sls │ │ ├── elasticsearch/ │ │ │ └── init.sls │ │ ├── logstash/ │ │ │ └── init.sls │ │ └── kibana/ │ │ └── init.sls │ └── pillars/ │ ├── elk.sls │ └── elasticsearch.sls ├── top.sls └── saltstack_env/

This structure provides a clear hierarchy where each component of the Elastic Stack can be managed separately. The init.sls files include the necessary configuration and installation details for Apache, Elasticsearch, Logstash, and Kibana. The top-level top.sls file defines which states to apply to the various targets in your Salt environment.


ELK Elastic Stack Salt Modules SaltStack Log Management Infrastructure Automation