Windows Tips & News

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

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

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.

Werbung

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.

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

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:

HochladenStromspannungBatterietempLaufzeit
EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimieren
Windows 10 Build 14383 ist für Fast Ring Insider verfügbar

Windows 10 Build 14383 ist für Fast Ring Insider verfügbar

3 AntwortenMicrosoft hat Windows 10 Build 14383 für Fast Ring Insider freigegeben. Dieser Build i...

Weiterlesen

Screenshot der Webseite mit Geräterahmen in Chrome erstellen

Screenshot der Webseite mit Geräterahmen in Chrome erstellen

2 AntwortenEine weniger bekannte Funktion von Google Chrome auf Desktop-Betriebssystemen ist die ...

Weiterlesen

Alte Spiele für Windows 10 Archive

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

Weiterlesen