02 Jun 2021 10:12 AM - last edited on 11 Aug 2022 07:38 AM by stefan_penner
Docker Inc, founded by Soloman Hykes, laid the foundation for cloud native computing. Built upon the Linux addition of LXC cgroups in 2008, Docker became the de-facto runtime engine for containerized workloads.
Today we have some alternative container runtimes to choose from including containerd and CRI-O, which use the Container Runtime Interface (CRI) as a standard way of integrating with Kubernetes. In 2019 the Kubernetes team decided to deprecate support for Docker, in favor or containerd and CRI-O, as it requires an extra translation layer (“shim”) for CRI support. Docker compatibility will continue through Kubernetes 1.22, expected later this year, though major cloud providers may end Docker support months earlier.
Seamless migration to containerd and CRI-O
Containerd and CRI-O support was enabled by default in Dynatrace environments created after v1.83 (fall of 2019). If you’re unsure of your environment’s birthdate, or you want to confirm a frictionless transition from the Docker runtime to containerd and CRI-O, navigate to Settings > Processes and Containers > Container Monitoring and enable both settings.
Important Dynatrace monitoring changes
As the industry shifts towards generic container metrics so will Dynatrace. Please walk through the following steps to avoid potential monitoring or alerting problems as Dynatrace begins its own deprecation timeline for Docker-only support, targeted at removal on January 1, 2022 September 2022. Please note, the deprecation will not cover container injection for automated deep monitoring of processes in Docker containers, but Docker specific container metrics and screens.
Deprecated (Docker-only) metric |
Generic container metric |
Container bytes received builtin:containers.bytes_rx2 |
builtin:tech.nettracer.bytes_rx |
Container bytes transmitted builtin:containers.bytes_tx2 |
builtin:tech.nettracer.bytes_tx |
Devicemapper data space available builtin:containers.devicemapper_data_space_available |
No generic container-level metric planned. |
Devicemapper data space used builtin:containers.devicemapper_data_space_used |
No generic container-level metric planned. |
Devicemapper meta-data space available builtin:containers.devicemapper_metadata_space_available |
No generic container-level metric planned. |
Devicemapper meta-data space used builtin:containers.devicemapper_metadata_space_used |
No generic container-level metric planned. |
Container cpu usage builtin:containers.cpu_usage2 |
builtin:containers.cpu.usagePercent |
Container memory percent builtin:containers.memory_percent |
builtin:containers.memory.usagePercent |
Container memory usage builtin:containers.memory_usage2 |
builtin:containers.memory.residentSetBytes |
Container throttled time builtin:containers.throttled_time2 |
builtin:containers.cpu.throttledTime |
Number of containers running builtin:containers.no_of_containers_running |
Use this expression: builtin:containers.cpu.usageSystemMilliCores:splitBy():count |
Number of containers launched builtin:containers.no_of_containers_launched |
removed |
Number of containers terminated builtin:containers.no_of_containers_terminated |
removed |
Number of containers running builtin:containers.no_of_containers_per_pgi |
removed |
New generic container metrics in Dynatrace
Our migration to generic container support brings along a handful of benefits including new metrics in the data explorer, as well as container metrics in a number of different screens such as the workload view shown below.
09 Jan 2023 04:34 PM
great update @mreider