Windows Tips & News

So überwachen Sie den Status der USB-USV über SNMP

click fraud protection

So überwachen Sie den Status der USB-USV über SNMP

Es gibt mehrere Computer mit USB-verbundener USV. Alle Computer verwenden das Programm apcupsd. Angenommen, Sie möchten Informationen über den Zustand der Stromversorgung für jedes Gerät an einem Ort zusammenfassen. Da snmpd dort bereits läuft, wäre es logisch, seine Funktionalität zu erweitern.

Die unten stehende Lösung, mit freundlicher Genehmigung der Admin-Blog, sammelt die Daten von allen snmpd-Einheiten gleichzeitig.

Um den Status der USB-USV über SNMP zu überwachen, müssen wir zuerst die SNMP-Daemon-Konfiguration ändern.

Vorbereitungen

Fügt der config snmpd.conf Folgendes hinzu.

# APC-USV
pass .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Der Inhalt des Skripts /etc/snmp/apcupsd.sh ist wie folgt.

#!/bin/sh -f # Überprüfen Sie, ob appcupsd online ist. apcaccess > /dev/null 2>&1 || Ausgang 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Angeforderte OID # # SET-Anfragen verarbeiten, indem einfach der zugewiesene Wert protokolliert wird. # Beachten Sie, dass solche "Zuweisungen" weder beständig sind, # noch die Syntax oder der angeforderte Wert validiert werden. # if [ "$1" = "-s" ]; dann. echo $* >> /tmp/passtest.log. Ausgang 0. fi # # GETNEXT-Anfragen - bestimmt die nächste gültige Instanz. # if [ "$1" = "-n" ]; dann. Fall "$REQ" in. $PLACE| \ $PLACE.0| \ $PLACE.0.*| \ $PLACE.1| \ $PLACE.1.1.0*) RET=$PLACE.1.1.1.0;; $PLACE.1*| \ $PLACE.2.0| \ $PLACE.2.0.*| \ $PLACE.2.1| \ $PLACE.2.2.0*) RET=$PLACE.2.2.1.0;; $PLACE.2.2.1*) RET=$PLACE.2.2.2.0;; $PLACE.2.2.2*) RET=$PLACE.2.2.3.0;; $PLACE.2.2.3*) RET=$PLACE.2.2.4.0;; $PLACE.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $PLACE.3.2.0*) RET=$PLACE.3.2.1.0;; $PLACE.3.2.1*| \ $PLACE.3.2.2*| \ $PLACE.3.2.3*) RET=$PLACE.3.2.4.0;; $PLACE.3.2.4*) RET=$PLACE.3.2.5.0;; $PLACE.3.2*| \ $PLACE.4.0*| \ $PLACE.4.1*| \ $PLACE.4.2.0*) RET=$PLACE.4.2.1.0;; $PLACE.4.2.1*) RET=$PLACE.4.2.2.0;; $PLACE.4.2.2*) RET=$PLACE.4.2.3.0;; $PLACE.4.2.3*) RET=$PLACE.4.2.4.0;; $PLACE.4.2.*| \ $PLACE.5*| \ $PLACE.6*| \ $PLACE.7.0*| \ $PLACE.7.1*| \ $PLACE.7.2.0*| \ $PLACE.7.2.1*| \ $PLACE.7.2.2*) RET=$PLACE.7.2.3.0;; $PLACE.7.2.3*) RET=$PLACE.7.2.4.0;; $PLACE.7*| \ $PLACE.8.0*) RET=$PLACE.8.1.0;; *) Ausgang 0;; esac. anders. # # GET-Anfragen - auf gültige Instanz prüfen. # Fall "$REQ" in. $PLACE.1.1.1.0| \ $PLACE.2.2.1.0| \ $PLACE.2.2.2.0| \ $PLACE.2.2.3.0| \ $PLACE.2.2.4.0| \ $PLACE.3.2.1.0| \ $PLACE.3.2.4.0| \ $PLACE.3.2.5.0| \ $PLACE.4.2.1.0| \ $PLACE.4.2.2.0| \ $PLACE.4.2.3.0| \ $PLACE.4.2.4.0| \ $PLACE.7.2.3.0| \ $PLACE.7.2.4.0| \ $PLACE.8.1.0) RET=$REQ;; *) Ausgang 0;; esac. fi # # GET*-Anforderungen "verarbeiten" - hartcodierten Wert zurückgeben. # echo "$RET" Fall "$RET" in. $PLACE.1.1.1.0) echo "Zeichenfolge"; apcaccess -u -p MODELL; Ausgang 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; Ausgang 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; Ausgang 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); Ausgang 0;; $PLACE.2.2.4.0) echo "Zeichenfolge"; apcaccess -u -p BATTDATE; Ausgang 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; Ausgang 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; Ausgang 0;; $PLACE.3.2.5.0) echo "Zeichenfolge"; apcaccess -u -p LASTXFER; Ausgang 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p AUSGABETV; Ausgang 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; Ausgang 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; Ausgang 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; Ausgang 0;; $PLACE.7.2.3.0) echo "Zeichenfolge"; apcaccess -u -p SELBSTTEST; Ausgang 0;; $PLACE.7.2.4.0) echo "Zeichenfolge"; apcaccess -u -p SELBSTTEST; Ausgang 0;; $PLACE.8.1.0) echo "Gauge32"; Echo 1; Ausgang 0;; *) echo "Zeichenfolge"; echo "ack... $RET $REQ"; Ausgang 0;; # Sollte nicht passieren. esac.

Wenn Sie sich über OIDs wundern, können Sie sie finden HIER. Beachten Sie, dass einige USV-Modelle nicht alle Parameter oder im falschen Format zurückgeben, sodass der Code Ungenauigkeiten und Stubs enthalten kann.

Jetzt sind Sie bereit.

So überwachen Sie den Status der USB-USV über SNMP

Führen Sie den folgenden Befehl aus, um den Status der USB-USV über SNMP zu überwachen: snmpwalk -v 1 -c öffentlich 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Die Ausgabe wird so aussehen:

SNMPv2-SMI:: enterprise.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.3.0 = Timeticks: (432000) 1:12:00.00
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: Unternehmen.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: Unternehmen.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.5.0 = STRING: "Automatischer oder expliziter Selbsttest"
SNMPv2-SMI:: Unternehmen.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: Unternehmen.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: Unternehmen.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: Unternehmen.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: enterprise.318.1.1.1.7.2.3.0 = STRING: "NO"
SNMPv2-SMI:: enterprise.318.1.1.1.7.2.4.0 = STRING: "NO"
SNMPv2-SMI:: enterprise.318.1.1.1.8.1.0 = Gauge32: 1

Wenn Sie das Überwachungsskript weiter konfigurieren, erhalten Sie diese raffinierten Diagramme:

3D-Objekte von diesem PC entfernen (zusammen mit anderen Ordnern)

3D-Objekte von diesem PC entfernen (zusammen mit anderen Ordnern)

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimierenM...

Weiterlesen

Download Aktivieren Sie das automatische Lesen von Phonetik in Windows 10 Narrator

Diese Website verwendet Cookies, um Ihre Erfahrung beim Navigieren durch die Website zu verbesser...

Weiterlesen

So erstellen Sie kleine PNGs mit GIMP

So erstellen Sie kleine PNGs mit GIMP

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimierenG...

Weiterlesen