Werk #14420: Docker container piggyback hosts: Go CRIT in case of multiple parent hosts
|Component||Checks & agents|
|Title||Docker container piggyback hosts: Go CRIT in case of multiple parent hosts|
|Date||Jun 23, 2022|
|Checkmk Editon||Checkmk Raw (CRE)|
|Checkmk Version||2.2.0i1 2.1.0p4|
|Compatibility||Incompatible - Manual interaction might be required|
Docker containers are usually monitored as piggyback hosts in Checkmk. If a container with the same name runs on multiple Docker hosts, the piggyback host representing this container will receive data from all parent hosts (of course, this only happens if the Docker agent plugin is configured to use container names as piggyback host names).
Since containers with the same name on different parent hosts are completely separate entities, there is no sensible way of merging the data from different parent hosts. In Checkmk 2.0, the container-related services simply used the data from the first parent host. In Checkmk 2.1 however, most container-related services will refuse to process data from multiple parent hosts. Instead, they will go stale and show up as vanished services in the discovery page. Furthermore, the Check_MK Discovery will show errors such as
Parsing of section docker_container_... failed
This behaviour is intended, since, as stated above, there is no sensible way of merging data from multiple parent hosts. To explicitly make the user aware of this situation, the service "Docker container status" will now additionally go CRIT and report "Found data from multiple Docker nodes - see service details for more information". To resolve this situation, users have multiple options:
- Reconfigure the Docker agent plugin to use container IDs as piggyback host names.
- Rename the containers on the parent hosts.
- Use the ruleset "Hostname translation for piggybacked hosts" to make the host names in Checkmk unique.