So, for me, this is a bit of a random post, as I usually don’t blog things like this. I run an installation of Nagios locally, to monitor my network. Its by no means critical, but its nice to know if the server this site is hosted on, is having issues, for example. Its a bit of a complex installation though, as the nagios daemon doesn’t run locally, its on my friend’s network, (also where I host firebot, the mozbot on irc.mozilla.org. So, to do checks here, I use NRPE, on my linux box here to relay the checks as if the remote nagios host was monitoring things directly. It works very well. Problem is, my linux box isn’t on a wired portion of my network, which makes things a bit flakey. So, I decided to migrate NRPE to run on tazdevil, my primary server, but its Win32. which isn’t a problem for the NRPE daemon, which has a NT port. It also compiles pretty easily under Cygwin, which gets you the daemon and the check_nrpe plugin, which is useful since I have 3 NRPE hosts here, for the plugins that simply must be run on the local machine.
The plugins, on the other hand, are a different matter. While there’s some plugins for windows available, some of the more useful ones, like check_mysql, which I needed, weren’t. So, after a full night of pain trying to compile nagios-plugins-1.4.9 under cygwin, only to end up with plugins that didn’t work anyway (socket errors, etc.). I managed to, yesterday, compile successfully nagios-plugins-1.4.5, which is an older release but it works (same as what I had installed on my linux box), some of them are very linux-dependent, and even cygwin doesn’t provide enough *nix for them, such as check_icmp.
So, to save people in the future looking to do this themselves some pain. I decided to package and provide the binaries for both nagios-plugins-1.4.5 and nrpe-2.8.1. They include the relevant required cygwin dlls, so a cygwin install is not required, and were compiled using GCC 3.4.4.
Nagios-Plugins 1.4.5: Download
NRPE 2.8.1: Download
These are provided in the hope they’ll be useful, but are not warranted in any way, if they work for you, great, if not, you’re on your own. (There’s some testing notes in the nagios-plugins package, but the nrpe package hasn’t been tested, except for the check_nrpe plugin, which works fine for me, the only reason I built it.) Though, if you want to contact me, you can at email@example.com.
One other note, if you decide you want to try compiling the plugins yourself under cygwin, after you run ./configure edit the makefile in plugins/makefile, and edit libexec_PROGRAMS (line 46 or so) so that negate and urlize are at the end, also make sure that all the names have $(EXEEXT) after them. This will avoid the bogus cannot find header errors that seem to occur to any plugin after negate/urlize, as the plugins build system clobbers its include path building those plugins and fails to bulid anything after. (This is what I spent the first night fighting, quite frustrating as the check_mysql plugin I wanted was the first after urlize. ugh.)