First of all, I am fully aware of the existence of this question.

With that out of the way, - I am looking for something to monitor windows-based systems for metrics, that are impractical to collect via snmp (such as the presence of certain substrings in log files).

I've tried to use NSClient++, however it is extremely underdocumented (even the author admits it), so doing something even remotely non-standard is pure trial-and-error, which is unacceptable in the soon-to-be production environment. On top of that, the plugin CheckDisk.dll is supposedly broken in the latest "stable" release (0.3.6?) and reports incorrect results for the CheckFile2 test.

I have lost hope, really, but, nevertheless, perhaps I am missing something? Perhaps there is a working alternative to NSClient++ out there? Preferrably with a comprehensive documentation.

Either way, what do you use for monitoring windows-based hosts via nagios?


Out of curiosity, have you tried writing your own script for doing what you want to do?

NSClient++ is much like NRPE it is a transport for running script on remote server (in this case windows servers). Thus you have a lot of scripts you can run and you can also write your own. In Addition to this it also has some built-in commands (which now days are pretty "ok" documented according to the author (me) if not let me know what is missing) but the "flexibility" comes from scripting if you ask me.

And yes the CheckDisk had problems in the latest stable release and has (to my knowledge) been fixed since (and 0.3.7 will be out pretty soon which fixes this issue).

Anyways, sorry for barging in like this, but I played with "google alerts" and got an eamil with this link so I figured I might as well respond :P

(don't know if this is a double post but I the reply I write before was not here so i am re-posting)

// Michael Medin

  • Hey, Michael. Writing my own script (powershell or vbs) is something I am going to resort to for the time being, it seems. I am glad to hear, that 0.3.7 will not have problems with CheckDisk. Meanwhile, any chance for better documentation? :) I know, it is, probably, a little rude to say it, but, nevertheless, your creation has great potential, I would absolutely love to be able to use it to its full extent in production environment. – shylent Oct 5 '09 at 10:07
  • Well, as I said the documentation "now" (as in last few weeks) is if you ask me "ok" so please let me know what you would want. If you want to know whats new check the RC for 0.3.7 is has two PDF:s (around 100+ pages) with two things: 1 guides to get started and 2 reference information. And again, please please please let me know what is missing (so I can add and expand that). // Michael Medin – Michael Medin Oct 5 '09 at 10:11
  • well, anyway. I've used powershell to do what I wanted (through NSClient++). I've also encountered a strange effect when using powershell - if you call powershell directly (powershell.exe <script_path>) it hangs indefinitely and the nrpe port becomes inaccessible even if you terminate the NSClient++ service (it becomes occupied by the "System" pseudo-process). I've worked around it by calling it through cmd.exe, as it is done in the examples in the default nsc.ini. So, I guess, one could say, that it kind of works. – shylent Oct 13 '09 at 9:41

We use NSClient++ on all of our Windows boxes however there are a number of different versions running, mostly because of the way it crashes on different machines.

For log checking, it may be easier and safer to do some log shipping and have windows send its log files to a syslog server so you can grep them there. If not, mounting the folder from the linux machine and doing something like

logtail LOGFILE | grep "String you want" | mail admins

Is a quick and dirty way around it.


If you're mainly concerned with pattern-matching in log files, you could use the check_log plugin that comes with the standard Nagios plugins; we use this to check for particular messages in the log files of some of our homemade apps, and it works pretty well for that. Just mount wherever the log files are (or use a syslog server, or one of the various other methods for getting log data from A to B) and tell the plugin what string(s) you're looking for.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.