apcupsd plugin for nagios
By installing the apcupsd (aptitude install apcupsd) daemon to monitor UPS (in my case an IBM UPS7500XHV), we can find the nagios_plugin_check_apcupsd (in directory /usr/share/doc/apcupsd/examples/). The goal now is to compile it (this is an example with the 3.14.6 version of apcupsd) so we need:
- g++
- the nagios_plugin_check_apcupsd.c source file either from the /usr/share/doc/apcupsd/examples/ directory or directly from apcupsd.sourceforge.net
So, in summary, just follow the lines belows:
root@watchdog00:/tmp# aptitude install g++ root@watchdog00:/tmp# wget http://downloads.sourceforge.net/sourceforge/apcupsd/apcupsd-3.14.6.tar.gz?use_mirror=surfnet root@watchdog00:/tmp# tar -xzvf apcupsd-3.14.6.tar.gz root@watchdog00:/tmp# cd apcupsd-3.14.6 root@watchdog00:/tmp/apcupsd-3.14.6# ./configure root@watchdog00:/tmp/apcupsd-3.14.6# ./make
Then we need to modify slightly the nagios_plugin_check_apcupsd.c to change the path to the apc.h file.
Originally the header file is: #include “apc.h”
So we modify this line to: #include “include/apc.h” In summary:
root@watchdog00:/tmp/apcupsd-3.14.6# cp examples/nagios_plugin_check_apcupsd.c ./ root@watchdog00:/tmp/apcupsd-3.14.6# vi nagios_plugin_check_apcupsd.c #And do the modification
finally we can compile it:
root@watchdog00:/tmp/apcupsd-3.14.6# g++ nagios_plugin_check_apcupsd.c src/lib/libapc.a -o check_apcupsd
which provides the check_apcupsd plugin for nagios.
Finally just add this plugin in /usr/local/lib/nagios/plugins/
root@watchdog00:/tmp/apcupsd-3.14.6# cp check_apcupsd /usr/local/lib/nagios/plugins/
and edit your commands.cfg (usually in /etc/nagios3) to add:
define command { command_name check_apcupsd command_line /usr/local/lib/nagios/plugins/check_apcupsd }