Werk #20187: cpu_utilization_os: Fix bogus multi-year "under high load" duration for Docker/LXC containers
| Component | Checks & agents | ||||||||
| Title | cpu_utilization_os: Fix bogus multi-year "under high load" duration for Docker/LXC containers | ||||||||
| Date | Aug 12, 2026 | ||||||||
| Level | Trivial Change | ||||||||
| Class | Bug Fix | ||||||||
| Compatibility | Compatible - no manual interaction needed | ||||||||
| Checkmk versions & editions |
|
Sometimes for Docker and LXC containers, the "CPU utilization" service could report an absurdly large value for "is under high load for", for example several thousand years, even though the container had only been busy for a few minutes.
This happened because the check used the cumulative CPU-usage counter
(system_cpu_usage, reported in nanoseconds by the container runtime) as if
it were the current wall-clock time when calculating how long a core had been
above the configured load threshold. That counter is valid for computing the
CPU utilization percentage, but not for measuring elapsed real time, and the
resulting duration was inflated by many orders of magnitude.
The check now uses the actual current time for this calculation, so the reported duration is correct.