Question on how to get a Windows process monitored



I’ve been asked to monitor a Windows process and warn/crit on how much CPU that process is taking up -
We know that when the process gets beyond 20% of the CPU of the server, it’s about to blow up
(even though the server isn’t loaded by this, it’s a sign the app is hosed…)

We monitor through Linux, and I use NSClient++ and NRPE checks to do things like check_file, and check_ad, etc
(from ITfx, who ROCKS for developing those…)

I’ve looked at his check_winprocess

but unless I’m missing it, that does not have the ability to report CPU usage by one process.
It can get memory usage, but that’s not what I’m after…

Anyone know of some other Nagios plugin I could use that will retrieve the CPU% used by a running executable on a Windows box?
btw- it’s NOT a service – it’s an executable launched.

so I’m trying to figure out what some method of getting that would be.

I might could get a VBscript to do some WMI and get the data, but I’m not sure how to pass that data back to Nagios in that case.


Nsclient++ supports vmi and vbs. You can execute wmi queries directly but it often makes sense to wrap it in vbs. I have posted a vbs script in the nsclient forum thats check some stuff in sql server and return status and performance data. If you rip out the sql stuff and put in your wmi code it will be working in minutes.