APC UPS mit Nagios überwachen

Wer hin und wieder mit Stromausfällen konfrontiert wird, tut gut daran eine UPS anzuschaffen. Unter Debian kann eine per USB angeschlossene UPS ohne viel Aufwand mit Nagios überwacht werden.

Folgende Hardware kommt dabei zum Einsatz:

# cat /proc/bus/usb/devices | grep UPS | grep Product
S:  Product=Back-UPS CS 350 FW:807.q8.I USB FW:q8

Zuerst muss die Software installiert werden:

# aptitude install nut

Jetzt zeigt man der Software, wo die Hardware zu finden ist:

# vi /etc/nut/ups.conf
[apc]
driver = usbhid-ups
port = auto

In diesem Fall, soll die UPS per NRPE überwacht werden und kann damit auf localhost beschränkt sein:

# vi /etc/nut/upsd.conf
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all
# vi /etc/nut/upsd.users
[local_mon]
password = irgendeinpasswort
allowfrom = localhost
upsmon master

An folgender Stelle kann zusätzlich konfiguriert werden, ob beim Stromausfall das System gestoppt werden soll. Dazu sollte man die Doku der Software lesen. In diesem Fall soll das System nicht gestoppt werden:

# vi /etc/nut/upsmon.conf
MONITOR apc@localhost 1 local_mon irgendeinpasswort master

Die Dateirechte werden wie folgt angepasst:

# chown root:nut /etc/nut/*
# chmod 640 /etc/nut/*

UPSD und UPSMON müssen nach einem Neustart automatisch gestartet werden:

# vi /etc/default/nut
- START_UPSD=no
- START_UPSMON=no
+ START_UPSD=yes
+ START_UPSMON=yes

Dienste starten:

# /etc/init.d/nut start && tail -f /var/log/daemon.log

Wenn alles richtig konfiguriert wurde, kann man die Daten der UPS auslesen:

# upsc apc

Der Nagios NRPE Check hat folgenden Inhalt:

# /usr/lib/nagios/plugins/check_ups -H localhost -u apc
UPS OK - Status=Online Utility=240,0V Batt=100,0% Load=65,0% |voltage=240000mV;;;0 battery=100%;;;0;100 load=65%;;;0;100

Das Ergebnis in Nagios schaut dann in etwa so aus: