I’m not familiar with C so I only made minor tweaks to Tollef Fog Heen’s code, which returns a temperature as a number. I wrote a wrapper in Perl that crudely interfaces this program to Nagios. In reality, I should wise up on my C a little and write the whole thing in C. When I do this, I’ll submit it to Monitoring Exchange.
For the time being, I’ll publish my Nagios plugin on this blog, in the hope that it might be useful to someone, despite being incredibly hacky.
First you’ll need the code for the program that reads the temperature from the TEMPer. Compile it like this:
g++ -o get_temper TEMPer2.c
Note that the path to the TEMPer device is hard-coded in the C If yours isn’t at
/dev/ttyUSB0 then you’ll need to change the source before compiling.
Then download my Nagios plugin (
check_temper), and put both the plugin and the program
get_temper in your Nagios plugin directory. This is likely to be
/usr/local/nagios/libexec if you built from source, and
/usr/lib/nagios/plugins if you installed from RPM in the Fedora repository.
Now all you have to do is the usual Nagios magic for adding any other plugin. Simple!
Forget all that you’ve read above! I’ve now rewritten the entire plugin in C, so there is no need for the perl wrapper. You can download it from MonitoringExchange.