APC USV
Die USVs von APC werden unter debian seit Jahren gut unterstützt (mindestens seit debian/woody).
Softwarepakete
Für die Unterstützung der USV spiele das Paket apcupsd ein:
aptitude install apcupsd
Um den Dienst starten zu können, musst du in der /etc/default/apcupsd die Variable ISCONFIGURED auf yes setzen.
Magst du auch eine nette Weboberfläche haben, um den Status der USV (oder mehrer!) zu überwachen, benötigst du noch das Paket apcupsd-cgi
aptitude install apcupsd-cgi
Sofern der Rechner über einen Webserver mit CGI-Support verfügt (apache2 out-of-the-box), kannst du wie folgt auf die Seite zugreifen: http://server-adresse/cgi-bin/apcupsd/multimon.cgi
eine USV am Server
Die config für einen Server schaut dann wie folgt so aus, wobei die 1. Zeile wichtig ist, sonst startet der Dienst nicht.
serielle Verbindung
seriell am 1. Port (ttyS0).
## apcupsd.conf v1.1 ## UPSNAME Meine-Server-APC UPSCABLE smart UPSTYPE apcsmart DEVICE /dev/ttyS0 LOCKFILE /var/lock ONBATTERYDELAY 6 BATTERYLEVEL 8 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0
usb Verbindung
die USV ist per usb verbunden
## apcupsd.conf v1.1 ## UPSNAME Meine-Server-APC UPSCABLE smart UPSTYPE usb DEVICE LOCKFILE /var/lock ONBATTERYDELAY 6 BATTERYLEVEL 8 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0
mehrere Linux Rechner an der USV
Oftmals hat man mehr als nur einen Linuxserver, den die USV versorgt. Da macht es Sinn ein MASTER/SLAVE setup aufzusetzen. Die Software unterstützt das von Hause aus.
Das Verbindungskabel der USV hängt dann nur an einem Rechner, dem MASTER. Die anderen Rechner, die an der Steckdosenleiste hängen, bekommen ein Netzwerksetup. Dafür müssen sie den DNS-Namen (oder die IP-Adresse?) des MASTER Rechners wissen.
Falls eine Firewall zwischen den Rechnern aktiv ist, denk daran den Port TCP 6544 freizuschalten.
Master
Hier die config für eine serielle Verbindung
UPSCABLE smart UPSTYPE apcsmart DEVICE /dev/ttyS0 LOCKFILE /var/lock ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 192.168.1.2 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS netmaster UPSMODE disable NETPORT 6544 SLAVE DNS-Name.Des.Slave.Rechner.Nummer1 SLAVE DNS-Name.Des.Slave.Rechner.Nummer2 SLAVE DNS-Name.Des.Slave.Rechner.Nummerx STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0
Slave
Und hier die Netzwerkconfig eines SLAVES
UPSCABLE ether UPSTYPE smartups DEVICE /dev/ttyS1 LOCKFILE /var/lock ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS netslave UPSMODE net NETTIME 100 NETPORT 6544 MASTER Der.DNS-Name.Des.Rechners.Mit.Der.USV STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0
Überwachung mehrer USVs
Wie oben schon geschrieben, kannst du mit dem Paket apcupsd-cgi den Status der USV überwachen. Wenn du mehrere USVs überwachen magst (zum Beispiel durch ein VPN zu mehreren Standorten), geht das auch.
Du konfiguriest die zu überwachenden USVs in der /etc/apcupsd/hosts.conf. Jede Zeile fasst einen Server mit IP-adresse und Anzeigename.
Beispiel:
MONITOR 172.16.16.1 "standort1.vpn.domain.tld" MONITOR 172.16.17.1 "standort2.vpn.domain.tld" MONITOR 172.16.18.1 "standortx.vpn.domain.tld"