Dynatrace has provided monitoring of Docker containers on Linux as a feature since 2015. Our customers have greatly appreciated the solution, which has found its way into many Dynatrace deployments. In response to popular demand, we’ve published a number of guidelines to help you understand and use Dynatrace in environments where Docker containers are present: How to monitor Docker containers, Monitoring Docker container environments, and Docker container monitoring in a hypercomplex world, to name a few.
Since we first introduced the monitoring of Docker containers, we’ve worked hard to implement numerous enhancements, feature requests, and make sure the solution is scalable and safe. For reasons detailed below, our efforts to date have been focused on monitoring Docker containers deployed on Linux. We’re now proud to announce the public Beta availability of Docker container monitoring on Windows.
Until recently, Docker on Windows was a Command Line Interface (CLI) solution that worked on Windows but was, in fact, spinning up small Linux virtual machines and Linux containers within. It worked well but was reported by some to be unreliable at times.
These issues, among others, resulted in much wider adoption of Docker on Linux. This changed when Microsoft and Docker released a native solution for Windows in 2016 that replaced the older methods for running containers on Windows and created a better experience for developers using these platforms. Although adoption of this solution took time, the Dynatrace Docker for Windows monitoring solution is in direct response to customer requests.
Set up monitoring of Docker for Windows
The setup of Docker for Windows monitoring is as straightforward as Docker for Linux—you simply deploy OneAgent on the Windows host where the Docker containers are run and then restart the Docker service. That’s all there is to it. All containers are identified automatically, monitored, and instrumented with specific OneAgent deep-code monitoring modules based on the technologies running within the containers.
To control automation of Docker monitoring
- Enable/disable the Docker technology monitoring flag at Settings > Monitoring > Monitored technologies. The Docker technology monitoring global flag enables our Docker plugin to report Docker container metrics.
- Set the appropriate operating system-specific flags (Docker for Linux and/or Docker for Windows Server Containers) to enable automated deep monitoring of Docker containers on Linux and/or Windows respectively.
Capabilities and limitations
Docker for Windows monitoring is available in a public Beta starting with OneAgent version 1.149 and cluster version 1.150. For all things supported by Dynatrace, please refer to our comprehensive support matrix.
Docker monitoring on Windows in Dynatrace is comparable to Docker monitoring on Linux. For the most part, you get the same Docker container metrics and monitoring insights.
There are several important limitations:
- OneAgent assumes that there is one application per container. For containers that have more than one application running inside (for example, Apache and MySQL in one container), Dynatrace reports the same listen ports for both applications (process groups). Network traffic is either assigned to one of the process groups or it’s divided between the process groups.
- OneAgent is capable of reporting topology for containers running in NAT network mode; topology for other network modes (Transparent, Overlay, L2Bridge, and L2Tunnel) isn’t reported. Of course, OneAgent detects and reports other network modes.
- For containers deployed on hosts running Windows, we support only Windows Server Containers; Hyper-V containers aren’t supported.
- For containers deployed on hosts running Windows, the OneAgent network module must be running in order for OneAgent to properly report topology. Network monitoring is enabled by default. If you’ve disabled it, you can re-enable it at Settings > Monitoring > Monitored technologies.
- OneAgent can’t report on inter-container communications if it only uses internal container addresses (i.e., if communications don’t go through NAT vNIC).
- Network statistics are reported for the main process detected inside each container hosted on Windows. This can lead to measurement inaccuracies if there are multiple processes performing network operations inside a monitored container.
- The non-standard storage location isn’t supported for containers deployed on Windows.
- Monitoring Windows Server Containers is only possible if OneAgent was installed directly in the Windows OS; Dynatrace doesn’t support the installation of OneAgent via containers on Windows machines.