Processor Queue / Windows CPU load

Hi guys.

Short story. As cmk server, im with 2.3 version right now.

Now, all the windows servers which i’m monitoring (thousands) are (still) with 1.2.6p16 agent = which honestly, works perfect; even on Windows server 2022. I have a minimal configuration (check_mk.ini), so, again, excellent performance.

Just this sections:
sections = check_mk uptime df ps mem services winperf local plugins wmi_cpuload systemtime

I’m writing this, because i can’t find anything conclusive.

I would like to start seeing “Processor Queue” on all Windows. The famous “windows cpu load”, which mimics linux cpu load.

So, i took a Windows system and start the test. I tried 1.2.8p27 agent, which i understand introduced: “wmi_cpuload”, which gives me exactly that. I’m seeing the (new) discovered metric right now. It’s great.

I then tried, because i needed to = 1.6.0p30, 2.0.0, and 2.1.0 agents. I see no change, which i could say: wow. No interesting change. Nothing. Just the same.

MY QUESTION IS THIS.
Do you know if there is any major CHANGE on wmi_cpuload on versions ABOVE 1.2.8p27 agent? or is just the same? Exactly the same since then?

I read all the werks. The problem is that… if something was fixed (regarding always wmi_cpuload) on any major version (1.4.0, 1.5.0, 1.6.0, 2.0.0), it was also FIXED ON 1.2.8.

If there is nothing important fixed / improved on 1.4.0, 1.5.0, 1.6.0 or above, regarding this, i will inmediately upgrade to 1.2.8 on every windows server, all the way to 2022 :), and stay with it.

Thank you so much for your time!!!
Appreciate.

Hi Gerardo,

The wmi_cpuload section now uses the Windows Perf API instead of WMI.

I don’t remember the exact Werk for this: it was done a few years back—but I can explain why we made the change.

WMI on Windows isn’t very stable. For something as important as CPU load monitoring, it’s pretty annoying when the service stalls. Even worse, the issues are random and don’t affect everyone the same way.

So, we decided to switch from the WMI API to the Perf API.

FYI: We’re just using Microsoft’s standard API, nothing fancy. If something goes wrong (for example, the section shows up empty and you see an error in the log), 99% of the time it’s a Windows issue.

P.S. If you really want the old behavior, you can use a custom PowerShell script to pull data from the WMI subsystem (basically mimicking the wmi_cpuload section) and then disable the built-in wmi_cpuload section in config.

Cheers
Serge

1 Like

Hi @SergejKipnis , thanks for your time in aswering this.

YES, i noticed you switch to perf, but… in agent 2.1.0. The problem is another one then, IN MY CASE. I did tests. We have some scripts running in “local”. The agent weighs more. It consumes more → I saw on the “Check_MK” service, that it takes longer to get all the info. I compared that… for every agent version.

Living aside wmi_cpuload… i LIKE that, starting on 1.6.0, i can use DIRECTLY ps1 scripts, without having to call them from a bat file.

I guess, i will go to 1.6.0 agents :slight_smile:.

@SergejKipnis, thanks, seriously.

Have a good one.

1 Like