Load per CPU - on Windows systems

Hi folks :slight_smile:

I try to create a service objects which covers both:

  • total CPU load and
  • CPU load per core

I’m using NSClient++ bundled with Icinga installer as check_load.exe does not seem to fit my needs. But even using nscp I can’t get it working. Here’s what Icinga does on agent side (using inspect in Icinga Web 2):

'C:\Program Files\NSClient++\nscp.exe' 'client' '--critical' 'load>90' '--log' 'critical' '--module' 'CheckSystem' '--show-all' '--time' '1m' '--time' '5m' '--time' '15m' '--warning' 'load>80' '-a' 'filter=none' '-b' '-q' 'check_cpu'

But it seems to completely ignore the -a filter=none and gives me just the totals. It does the same when removing the filter completely (I had a different understanding after reading https://docs.nsclient.org/checks/). When I do my query in PowerShell, it looks like this:

PS C:\Program Files\NSClient++> ./nscp.exe client --module CheckSystem -b -q check_cpu --show-all -a filter=none
OK: 5m: 0%, 1m: 0%, 5s: 0%|'total 5m'=0%;80;90 'total 1m'=0%;80;90 'total 5s'=0%;80;90

So it seems I’m doing something wrong, or the check ignores my filter. I did a lot of RTFM, but I have no idea to solve my issue: how can I get values (and performance data) on a per-core base?

Do you have an idea? :slight_smile: Any hint would me appreciated!


Hello Marianne,

Nsclient cpu_load will only work when nsclient runs as daemon. As plugin it doesnt collect the needed data. So you have to stick to the plugin shipped with icinga2 agent.

Grüsse aus dem Osten,


you can use nscp_api for querying the running NSClient++ service.



Thank you both for your answers, @mfriedrich & @Carsten!
For the moment I’ll leave it at average values via load-windows :slight_smile:
nscp_api is in this case way too much effort for just a bit load.


Wait for OSMC then where @cstein is targeting this.

Cheers from Ghent,

1 Like