Werk #19803: systemd_units: Single-snapshot agent collection and simpler parser
| Component | Checks & agents | ||||||
| Title | systemd_units: Single-snapshot agent collection and simpler parser | ||||||
| Date | May 12, 2026 | ||||||
| Level | Trivial Change | ||||||
| Class | Bug Fix | ||||||
| Compatibility | Compatible - no manual interaction needed | ||||||
| Checkmk versions & editions |
|
The Systemd Service Summary check on Linux hosts could previously emit a spurious WARN or CRIT of the form
Service 'X' activating for: Y minutes (warn/crit at A/B)
or
Service 'X' reloading for: Y minutes (warn/crit at A/B)
on services that had in fact finished within seconds. Affected services were typically timer-driven.
The Linux agent previously collected systemd state through two independent systemctl invocations whose snapshots were
then merged in the plugin.
A state transition between the two calls — for example a timer firing — could leave the merged data describing different
points in time for the same unit, producing the false alerts.
The Linux agent now collects all systemd state in a single systemctl show call.
All properties of all units are captured in one round trip, so no merge across snapshots is needed and the underlying
race cannot occur, regardless of how long the systemd query takes on the host.
The new agent output is now machine-readable and not localized, which allows for a simpler and less error-prone parser.
Older Checkmk agents that have not yet been updated continue to be supported by a fallback path in the plugin.