apcupsd ist nur für APC-USVs geeignet
Die Installation der Software erfolgt mit aptitude.
aptitude update aptitude install apcupsd aptitude install apcupsd-doc aptitude install apcupsd-cgi
Ggf. muss noch ein Paket für die Serielle Schnittstelle geladen werden.
Nach der Installation erfolgt die Konfiguration über die Einträge in der Datei /etc/apcupds/apcupsd.conf
Mit einem Texteditor müssen in dieser Datei am Anfang folgende Variablen entsprechend der eigenen USV gesetzt werden.
# UPSCABLE [simple | smart | ether | usb ] UPSCABLE smart
Aus der Liste wählt man sein Modell aus.
# UPSTYPE [ dumb | apcsmart | net | usb | snmp | test ]
UPSTYPE apcsmart
Anschluss über die Serielle Schnittstelle oder über USB
#DEVICE <string> /dev/<serial port>
DEVICE /dev/ttyS0
Gestartet wird der Daemon mit apcupsd. Bei einem Reboot wird der Daemon jedoch nicht automatisch gestartet. Um dies zu erreichen editiert man in der Datei
/etc/default/apcupsd
Den folgenden Eintag auf „yes“
ISCONFIGURED=yes
Ob die Daten der USV ausgelesen werden kann man - nach dem Start des Daemon - mit Eingabe von apcaccess testen. Es sollten danach alle relevanten USV-Daten ausgegeben werden.
Das Webinterface findet sich auf http://server/cgi-bin/apcupsd/multimon.cgi
Zunächst muss man das Check-Skript check_apc in das Verzeichnis /usr/lib/nagios/plugins
kopieren: :version3:check_apc.zip
und - ganz WICHTIG!! - für alle ausführbar machen.
Anschließend muss in der Datei /etc/nagios2/conf.d/linuxmuster_custom.cfg
folgendes eingefügt werden - dabei muss man natürlich SERVERNAME durch den tatsächlichen Namen des Servers ersetzen:
# APC # 'check_apc' command definitions define command{ command_name check_apc command_line /usr/lib/nagios/plugins/check_apc $ARG1$ $ARG2$ $ARG3$ } define service{ use linuxmuster-service host_name SERVERNAME.paedml-linux.lokal service_description SYS - APC USV Load notification_options w,u,c,r check_command check_apc!load!50!75 } define service{ use linuxmuster-service host_name SERVERNAME.paedml-linux.lokal service_description SYS - APC USV Battery notification_options w,u,c,r check_command check_apc!bcharge!60!30 } define service{ use linuxmuster-service host_name SERVERNAME.paedml-linux.lokal service_description SYS - APC USV Status notification_options w,u,c,r check_command check_apc!status }
Danach nagios mit /etc/init.d/nagios2 restart neu starten.
Da der Serverschrank von einer ab und zu ausfallenden Klimaanlage gekühlt wird, kann man die USV auch zur Temperaturüberwachung einsetzen.
In der Datei /etc/nagios2/conf.d/linuxmuster_custom.cfg
einfügen:
define service{ use linuxmuster-service host_name SERVERNAME.paedml-linux.lokal service_description SYS - APC USV Temperatur notification_options w,u,c,r check_command check_apc!temp!30!35 }
Und noch das Script /usr/lib/nagios/plugins/check_apc
ergänzen:
temp) checkargs TEMP=`$APCA $APCA_ARGS | grep ITEMP | awk '{print $3}' | sed -e 's/\.[0-9]* *$//g'` if [ "$TEMP" -gt "$CRIT" ]; then echo "UPS CRITICAL - Temperature zu hoch: ${TEMP} Celsius" exit 2 fi if [ "$TEMP" -gt "$WARN" ]; then echo "UPS WARNING - Temperature zu hoch: ${TEMP} Celsius" exit 1 fi echo "UPS OK - Temperature: ${TEMP} Celsius" exit 0 ;;
Dieser Teil der Anleitung ist nur für Systeme, die mit einem dedizierten IPCOP arbeiten, von Interesse.
Damit der IPCOP automatisch vom SERVER heruntergefahren werden kann, müssen sowohl diese beiden Maschinen, als auch der Switch der beide verbindet, an der APC-USV angeschlossen sein!
Zunächst öffnet man eine root-Konsole und wechselt in das APCUPSD-Konfigurationsverzeichnis.
cd /etc/apcupsd/
Dort erzeugt man die Datei, die einen Reboot des IPCOPs ermöglicht.
touch doreboot
Diese Datei öffnet man nun einem Editor (z.B. mcedit)
mcedit doreboot
und fügt folgende Zeilen ein:
#!/bin/sh ssh -p 222 ipcop shutdown -r now exit 0
Nachdem man die Datei abgespeichert hat, müssen nur noch die Rechte richtig gesetzt werden.
chmod ugo+x doreboot
Als nächstes kopiert man diese Datei.
cp doreboot doshutdown
Ein letztes mal öffnet man den Editor seines Vertrauens
mcedit doshutdown
und ändert das -r in der zweiten Zeile in ein -h
ssh -p 222 ipcop shutdown -h now
Nun müssen noch die letzten beiden benötigten Dateien angelegt werden.
cp doshutdown emergency cp doshutdown remotedown
Der IPCOP wird nun bei einem Stromausfall vom Server automatisch heruntergefahren. Weiterführende Information findet man unter: www.apcupsd.com