27 Apr 2018 12:40 AM - last edited on 29 Sep 2022 05:00 AM by MaciejNeumann
I'm interested in monitoring a few node apps from a stack which are deployed with docker container so analysing two agent deployment strategies:
So which one offer us a better host unit exploitation of our host units? If the agent is bundled with the container.. Should it means that host units exploitation is proportional to the memory of the docker container?
If there isn't a clear response, how we can measure this?
Solved! Go to Solution.
See a reference here: https://www.dynatrace.com/support/help/shortlink/monitoring-consumption#example
When OneAgent is integrated using Universal injection, operation of OneAgent is based on the application level (i.e, application-only monitoring). In such cases, where OneAgent isn't installed on the host level (physical or virtualized), the memory detection for host unit calculation is done per operating system instance that the application runs on, with consideration of the memory limits that are set on this layer (for example, container memory limits).
If no memory limit is set, higher host-unit requirements may result as the reported available memory is typically the underlying host memory.
A Docker host with 16 GB RAM running 2 containers, monitored with application-only:
Variant-1: Without a memory limit set, 2 host units will be consumed in total as 16 GB RAM per container are reported.
Variant-2: With a memory limit set to 4 GB per container, 0.5 host units will be consumed in total as 4 GB RAM per container are reported.
Monitoring the Docker host in full-stack monitoring mode would consume 1 host unit because the memory reported from the Docker host is used for licensing (1x 16 GB RAM).