i'm using the standalone elastic agent and wondering why there is so much memory usage.
Without limiting the resources. elastic-agent is using 1GB memory for monitoring one file.
(Filebeat is using 100-150 mb for 3-4 files)
within the container there is much more running than it seems to be needed.
We don't want to use anything dynamic or the config reload option.
in the container is running 'apm-server, cloudbeat, packetbeat and osquerybeat'. Why is that needed and is there a way to turn them off?
I know that the documentation is not perfectly for standalone mode but i can't find anything of it.
Could you provide the standalone configuration that you're running? The Elastic Agent is really just a wrapper for Beats (as of current), so if you really only have 1 integration enabled for monitoring a single file, I would expect mainly a single Filebeat process to be running.
Someone from the Elastic side might be able to provide some more insight here, but I suspect this "additional" resource overhead comes in 2 forms:
As mentioned the Elastic Agent is really just a wrapper for Beats, so it will probably just have some more overhead to "exist".
Some of this might be Golang garbage collection related. If Go doesn't "need" to clean up unused stuff it could just let it stay there, making it seem like it needs more resources then it really does.
If I had to guess, it's probably a mixture of both of the above.
i would agree in general, but what confused is the containers which are running as daemonset, having multiple inputs and are spawning just the beats they needed and no other processes.
We don't want to completely restrict the mem usage for those(multiple reasons) and a little overhead is ok but moving from 150mb to 1GB is not really arguable.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.