Free tool
Ansible playbook generator for the Elastic Stack
Describe your Elasticsearch, Kibana and Logstash hosts, pick node roles and heap sizes, and download an inventory, variables and a playbook that installs a secured cluster with TLS and passwords set, then re-runs safely.
Runs entirely in your browser. Nothing you enter is sent anywhere.
1. Start from a preset
A preset fills every table below; edit anything afterwards. Addresses are placeholders from the 10.0.0.0/24 private range: replace them with your hosts.
2. Cluster and versions
3. Elasticsearch nodes
Name becomes node.name and the inventory host name. Address is used to connect over SSH and as network.host, so it must be an address the node owns and the other nodes can reach. Hover or focus a role for what it does; no role at all makes a coordinating-only node. Heap in GB, whole numbers: no more than 50% of the machine's RAM (the playbook's preflight checks this) and below the compressed object pointers threshold, which is near 32 GB and varies by JVM: 26 GB is safe on most systems, up to about 30 GB where the startup log confirms it (Elastic documentation).
| Name | Address | Roles | Heap, GB | Row |
|---|
4. Kibana nodes
Every Kibana node gets the same encryption keys, so they can sit behind one load balancer. Kibana connects to every Elasticsearch node that is not master-only.
| Name | Address | Row |
|---|
5. Logstash nodes
Each Logstash node gets a Beats input on port 5044 and an Elasticsearch output that writes to data streams as the logstash_writer user. Heap in GB; the Logstash package ships with 1 GB.
| Name | Address | Heap, GB | Row |
|---|
6. Secrets
These passwords and keys were generated in your browser with crypto.getRandomValues (32 letters and digits each). They exist only in this page and in the files you download: they are not sent anywhere and are left out of the shareable link, so reloading the page makes new ones. Encrypt group_vars/all.yml with ansible-vault before you commit or share it.
The link holds your node names, addresses and roles, never the secrets. The page address itself does not, so nothing lands in your browser history.
7. Checks
8. Your files
Unzip, then run ansible-playbook -i inventory.ini site.yml from that folder. The README explains each play, how to log in to Kibana and how to re-run safely.

