
Unter Linux steht mit dem APCUPSd eine ähnliche Implementierung zur Verfügung.
Installation
In Debian und Ubuntu sind bereits fertige Pakete in den Repositories enthalten.
sudo apt-get install apcupsd
Konfiguration
Die Konfiguration erfolgt über die Konfigurationsdatei /etc/apcupsd/apcupsd.conf.
Nach der Installation editieren wir diese mit dem Editor nano.
sudo nano /etc/apcupsd/apcupsd.conf
Im folgenden ist die Konfiguration für eine BackUPS Pro 900 aufgeführt. Diese wird über USB angebunden.
UPSNAME ups900
UPSCABLE usb
UPSTYPE usb
Hier lassen sich noch weitere Optionen setzen:
- ONBATTERYDELAY - Zeit in Sekunden nach einem Stromausfall bis das ONBATTERY Event ausgelöst wird
- BATTERYLEVEL - Verbleibende Restkapazität bei der ein Herunterfahren ausgelöst wird
- MINUTES - Verbleibende Restlaufzeit bei der ein Herunterfahren ausgelöst wird
- commfailure - Wird aufgerufen wenn die Verbindung zur USV unterbrochen wurde
- commok - Verbindung zur USV wiederhergestellt ist
- doshutdown - Aktionen beim Herunterfahren (z.B. bei niedrigem Batteriestand)
- killpower - Abschaltung der USV
- offbattery - Netzbetrieb wiederhergestellt
- onbattery - Aktionen beim Betrieb auf Batterie
- APC Back-UPS Pro 900 USV im Test
- Performanter Nginx Webserver auf dem Raspberry Pi mit PHP und APC
- Apache mit PHP und APC auf dem Raspberry Pi
- Raspberry Pi Mini-Computer im Test
- Raspberry Pi mit XBMC als Mediacenter
- Raspberry Pi Multi Boot einrichten
- HAProxy Load Balancer mit Ubuntu / Debian
- Hochverfügbarkeit und Redundanz auf Linux Servern mit Keepalived
- Layer 4 Load Balancing mit IPVS und Debian / Ubuntu
- Ubuntu installieren
- Samba Server einrichten mit Ubuntu
- Jolicloud 1.2 Installation
Skripte
Der APCUPS Dämon löst bei bestimmten Events automatisch die passenden Skripte in /etc/apcupsd/ auf.
E-Mail Benachrichtigungen
Über die oben genannten Skripte lässt sich auch eine E-Mail Benachrichtigung einrichten. Im folgenden erstellen wir eine Benachrichtigung bei einem Stromausfall und eine Meldung, wenn dieser wieder vorhanden ist.
Hinweis: Voraussetzung für eine funktionierende Mail Benachrichtigung ist ein konfiguriertes Mailsystem / Mail Relay Agent.
Die betreffenden Skripte sind onbattery (Stromausfall) und offbattery (Strom wiederhergestellt).
sudo nano /etc/apcupsd/onbattery
#!/bin/sh
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol when the UPS
# goes on batteries.
# We send an email message to root to notify him.
#
SYSADMIN=admin@example.com
APCUPSD_MAIL="/usr/bin/mail"
HOSTNAME=`hostname`
MSG="$HOSTNAME Power Failure !!!"
#
(
echo "Subject: $MSG"
echo " "
echo "$MSG"
echo " "
/sbin/apcaccess status
) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
exit 0
Hier muss die Variable SYSADMIN an die eigene Konfiguration angepasst werden.
sudo nano /etc/apcupsd/offbattery
#!/bin/sh
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol when the
# UPS goes back on to the mains after a power failure.
# We send an email message to root to notify him.
#
SYSADMIN=admin@example.com
APCUPSD_MAIL="/usr/bin/mail"
HOSTNAME=`hostname`
MSG="$HOSTNAME Power has returned"
#
(
echo "Subject: $MSG"
echo " "
echo "$MSG"
echo " "
/sbin/apcaccess status
) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
exit 0
Mehrere Server herunterfahren
Sind an der USV mehrere Systeme angeschlossen möchte man diese evtl. ebenfalls herunterfahren. Hier kann die Netzwerkfunktion von APCUPSd genutzt werden.
Der an die USV Angeschlossene Server (z.B. ein stromsparendes Raspberry Pi*) dient als Master und startet den Shutdown auf den anderen Servern.
Master
Hierzu passen wir die Konfiguration auf dem Master Server an. In unserem Fall besitzt dieser die IP-Adresse 192.168.1.10
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
Slaves
Auf den Slaves wird ebenfalls der APCUPS Dämon benötigt. Dieser wird nun an den Master gekoppelt.
UPSNAME ups900
UPSCABLE ether
UPSTYPE net
DEVICE 192.168.1.10:3551
BATTERYLEVEL 5
MINUTES 3
NETSERVER on
NISIP 127.0.0.1
NISPORT 3551
UPSCLASS standalone
UPSMODE disable
USV Status
Um den aktuellen Status der USV auszugeben kann folgender Befehl verwendet werden.
apcaccess
Fazit
Auf den ersten Blick wirkt der APCUPSd sehr spartanisch. Mit den eigenen Skripten und der Netzwerkfunktionalität bietet sich ein sehr umfangreiches und anpassbares Tool.
Similar articles

Leave a comment