+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +One of the most popular ELK on Docker repositories is the awesome [deviantony/docker-elk](https://github.com/deviantony/docker-elk). +Elastdocker differs from `deviantony/docker-elk` in the following points. + +- Security enabled by default using Basic license, not Trial. + +- Persisting data by default in a volume. + +- Run in Production Mode (by enabling SSL on Transport Layer, and add initial master node settings). + +- Persisting Generated Keystore, and create an extendable script that makes it easier to recreate it every-time the container is created. + +- Parameterize credentials in .env instead of hardcoding `elastich:changeme` in every component config. + +- Parameterize all other Config like Heap Size. + +- Add recommended environment configurations as Ulimits and Swap disable to the docker-compose. + +- Make it ready to be extended into a multinode cluster. + +- Configuring the Self-Monitoring and the Filebeat agent that ship ELK logs to ELK itself. (as a step to shipping it to a monitoring cluster in the future). + +- Configured Prometheus Exporters. + +- The Makefile that simplifies everything into some simple commands. + +
++ +#### To Start Monitoring and Prometheus Exporters +```shell +$ make monitoring +``` +#### To Ship Docker Container Logs to ELK +```shell +$ make collect-docker-logs +``` +#### To Start **Elastic Stack, Tools and Monitoring** +``` +$ make all +``` +#### To Start 2 Extra Elasticsearch nodes (recommended for experimenting only) +```shell +$ make nodes +``` +#### To Rebuild Images +```shell +$ make build +``` +#### Bring down the stack. +```shell +$ make down +``` + +#### Reset everything, Remove all containers, and delete **DATA**! +```shell +$ make prune +``` + +
+