cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Migrating from Docker-only to generic container metrics in Dynatrace

mreider
Dynatrace Advisor
Dynatrace Advisor

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.

 

Screen Shot 2021-06-02 at 11.04.16.png

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.

  1. Browse through the list of metrics in the table below.

  2. Communicate with your team that these metrics come directly from the Docker API, rather than from a generic place. Let them know that any dashboards, alerts or API integrations using these metrics must be modified.

  3. Let your team know the Docker screen in Dynatrace will be replaced by generic container views, and refer them to this article if they have questions.

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.
In K8s please use the PVC extension.

Devicemapper data space used

builtin:containers.devicemapper_data_space_used

No generic container-level metric planned.
In K8s please use the PVC extension.

Devicemapper meta-data space available

builtin:containers.devicemapper_metadata_space_available

No generic container-level metric planned.
In K8s please use the PVC extension.

Devicemapper meta-data space used

builtin:containers.devicemapper_metadata_space_used

No generic container-level metric planned.
In K8s please use the PVC extension.

Container cpu usage

builtin:containers.cpu_usage2

builtin:containers.cpu.usagePercent
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
builtin:containers.cpu.throttledMilliCores

Number of containers running

builtin:containers.no_of_containers_running

Use this expression:

builtin:containers.cpu.usageSystemMilliCores:splitBy():count

Note: Metric expression can be used for the overall number of containers in an environment. Splitting by image is subject to further improvement. 

Number of containers launched

builtin:containers.no_of_containers_launched

removed

Number of containers terminated

builtin:containers.no_of_containers_terminated

removed

Note: You can use Process Group availability settings to monitor if any process becomes unavailable or to define a certain threshold (e.g. how many process group instances must be available). Containers, which have been terminated unexpectedly, will impact Process Group (Instance) availability.

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.

Screen Shot 2021-06-02 at 11.06.05.png

Kubernetes beatings will continue until morale improves
1 REPLY 1

ChadTurner
DynaMight Legend
DynaMight Legend

great update @mreider 

-Chad

Featured Posts