dockerelastic-stackelastic-beats

Recommended Docker Image Architecture


We have a "few" applications we want to run in a docker container. Our initial attempt created an "base image" that served as the basis for the different application images. It contained the base Linux OS, jdk, etc. Now we are looking at adding integration with ELK stack which we will run on separate server cluster. I am looking at using Metric Beat and File Beat to send data to the ELK cluster.

I am considering a couple of approaches and was wondering which is better (or another >>).

Thanks


Solution

  • I suggest having 1 application per container and using Kubernetes as a container scheduler.

    Some of the benefits:

    Elastic agent vs filebeat/metricbeat is just a matter of convenience. Elastic agent is easier to manage if you have Fleet server in your stack. You can start/stop elastic agents, add integrations, and change agent policies in a centralized way. It might be overkill for a simple project but it is always my first choice.