USV Überwachung mit den Network UPS Tools

Bis jetzt hatte ich immer ein Check-Plugin für Icinga um die USV direkt zu überwachen. Jedoch gab es für die mir vorliegende USV noch kein Plugin. Bei meiner Suche bin ich dabei auf die Network UPS Tools gestoßen.

Das Ziel der Network UPS Tools(NUT) ist das einheitliche Auslesen und Ansteuern verschiedener USVs und Stromversorgungsgeräte. Dabei werden nach eigenen Angaben Geräte von mehr als 140 Anbietern und mehrere tausende Modelle unterstützt. Ein Blick auf die Kompatibilitätsliste zeigt den gesamten Umfang der Unterstützten Geräte und auch die Qualität der verfügbaren Treibers. Bei den Treibern handelt es sich um eine Art Plugin für den NUT Server. Mit ihnen wird die eigentliche Kommunikation mit dem Stromversorgungsgerät realisiert.

Unter CentOS/RHEL 7 können die NUT wie folgt installiert werden. Fertige Pakete sind auch in den Repositories von anderen Linux Distributionen wie Debian oder Ubuntu enthalten.

$ sudo yum install nut

Nach der Installation muss das jeweilige Gerät Konfiguriert werden. Dabei kann das mitgelieferte Tool nut-scanner behilflich sein. Im vorliegenden Fall soll eine USV per SNMP ausgelesen werden. Zu beachten ist, dass es sich hier um ein Testgerät handelt und daher die SNMP-Community noch auf public eingestellt ist. Dies sollte natürlich vor dem produktiven Betrieb unbedingt geändert werden. Das folgende Beispiel zeigt den verwendeten Befehl und die erzeugte Konfiguration.

$ nut-scanner --snmp_scan -c public -m 192.168.0.1/32
Cannot load XML library (libneon.so.27) : file not found. XML search disabled.
Scanning SNMP bus.
[nutdev1]
        driver = "snmp-ups"
        port = "192.168.0.1"
        desc = "***"
        mibs = "netvision"
        community = "public"

Die erzeugte Konfiguration kann bei Bedarf noch angepasst und anschießend in die Datei /etc/ups/ups.conf eingefügt werden. Damit die Änderungen übernommen werden ist ein Neustart des NUT Servers notwendig.

$ sudo systemctl restart nut-server.service

Wurde alles eingetragen und war der Neustart des Dienstes erfolgreich, können die Werte der USV wie folgt abgerufen werden. Im folgenden Beispiel wurde die Ausgabe stark gekürzt.

$ upsc nutdev1@localhost
battery.charge: 0.00
battery.runtime: 600.00
battery.voltage: 41.00
[...]

Hinweise

Teilweise hat ein einfacher restart nicht ausreicht, damit die Konfigurationsänderung sauber übernommen wird. Hier musste zunächst der nut-server gestoppt und anschließend wieder gestartet werden.

Links

Verwandte Artikel