Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:server:usv:usv_apcupsd]] 

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 <string> /dev/<serial port>
 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 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: www.apcupsd.com

 [[anwenderwiki:server:usv:usv_apcupsd]] anwenderwiki/server/usv/usv_apcupsd.txt · Zuletzt geändert: 2014/05/24 14:02 (Externe Bearbeitung)