{{tag>usv apcupsd nagios ipcop reboot}} ====== Installation einer USV von APC mit apcupsd ====== apcupsd ist nur für APC-USVs geeignet ==== Installation und Konfiguration ==== 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. ==== Konfiguration ==== 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 /dev/ DEVICE /dev/ttyS0 Bei einer USV mit USB-Kabel sieht die Konfiguration so aus:\\ \\ UPSCABLE usb\\ UPSTYPE usb\\ DEVICE ==== Start des Hintergrundprozesses ==== 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. ==== Webinterface ==== Das Webinterface findet sich auf http://server/cgi-bin/apcupsd/multimon.cgi ==== Integration in nagios ==== Zunächst muss man das Check-Skript check_apc in das Verzeichnis ''/usr/lib/nagios/plugins'' kopieren: {{:version3:check_apc.zip|: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. ==== Erweiterung: Temperaturüberwachung durch nagios ==== 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 ;; ==== Shutdown eines dedizierten IPCOPs ==== 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: [[http://www.apcupsd.com/manual/Customizing_Event_Handling.html|www.apcupsd.com]]