Windows Tips & News

Hoe de USB UPS-status te controleren via SNMP

AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliseren

Hoe de USB UPS-status te controleren via SNMP

Er zijn verschillende computers met een via USB aangesloten UPS. Alle computers gebruiken het programma apcupsd. Stel dat u informatie over de toestand van de voeding voor elke unit op één plaats wilt samenvoegen. Aangezien snmpd daar al draait, zou het logisch zijn om de functionaliteit uit te breiden.

Advertentie

De onderstaande oplossing, met dank aan de Beheerdersblog, verzamelt de gegevens van alle snmpd-eenheden tegelijk.

Om de USB UPS-status via SNMP te controleren, moeten we eerst de snmp-daemonconfiguratie wijzigen.

Inhoudverbergen
Voorbereidende werkzaamheden
Hoe de USB UPS-status te controleren via SNMP

Voorbereidende werkzaamheden

Voegt het volgende toe aan de config snmpd.conf.

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

De inhoud van het /etc/snmp/apcupsd.sh script is als volgt.

#!/bin/sh -f # Controleer of apcupsd online is. apcaccess > /dev/null 2>&1 || exit 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Aangevraagde OID # # Verwerk SET-verzoeken door simpelweg de toegewezen waarde te loggen. # Merk op dat dergelijke "toewijzingen" niet blijvend zijn, # noch is de syntaxis of de gevraagde waarde gevalideerd. # if [ "$1" = "-s"]; dan. echo $* >> /tmp/passtest.log. uitgang 0. fi # # GETNEXT-verzoeken - bepaal de volgende geldige instantie. # if [ "$1" = "-n" ]; dan. geval "$REQ" in. $PLAATS| \ $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*| \ $PLAATS.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;; *) uitgang 0;; esac. anders. # # GET-verzoeken - controleer op geldige instantie. # geval "$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;; *) uitgang 0;; esac. fi # # "Process" GET*-verzoeken - hardgecodeerde waarde retourneren. # echo "$RET" geval "$RET" in. $PLACE.1.1.1.0) echo "string"; apcaccess -u -p MODEL; uitgang 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; uitgang 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; uitgang 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); uitgang 0;; $PLACE.2.2.4.0) echo "string"; apcaccess -u -p BATTDATE; uitgang 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; uitgang 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LIJNFREQ; uitgang 0;; $PLACE.3.2.5.0) echo "string"; apcaccess -u -p LASTXFER; uitgang 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; uitgang 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LIJNFREQ; uitgang 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; uitgang 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; uitgang 0;; $PLACE.7.2.3.0) echo "string"; apcaccess -u -p ZELFTEST; uitgang 0;; $PLACE.7.2.4.0) echo "string"; apcaccess -u -p ZELFTEST; uitgang 0;; $PLACE.8.1.0) echo "Gauge32"; echo 1; uitgang 0;; *) echo "tekenreeks"; echo "Ak... $RET $VERZOEK"; uitgang 0;; # Mag niet gebeuren. esac.

Als je je afvraagt ​​over OID's, kun je ze vinden HIER. Houd er rekening mee dat sommige UPS-modellen niet alle parameters of in het verkeerde formaat retourneren, dus de code kan onnauwkeurigheden en steekjes bevatten.

Nu ben je klaar.

Hoe de USB UPS-status te controleren via SNMP

Voer de volgende opdracht uit om de USB UPS-status via SNMP te controleren: snmpwalk -v 1 -c openbaar 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. De uitvoer zal als volgt zijn:

SNMPv2-SMI:: enterprise.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: ondernemingen.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: ondernemingen.318.1.1.1.2.2.2.0 = Spoor32: 36
SNMPv2-SMI:: ondernemingen.318.1.1.1.2.2.3.0 = Tijdslimieten: (432000) 1:12:00.00
SNMPv2-SMI:: ondernemingen.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: ondernemingen.318.1.1.1.3.2.1.0 = Spoor32: 227
SNMPv2-SMI:: ondernemingen.318.1.1.1.3.2.4.0 = Spoor32: 50
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.5.0 = STRING: "Automatische of expliciete zelftest"
SNMPv2-SMI:: ondernemingen.318.1.1.1.4.2.1.0 = Spoor32: 227
SNMPv2-SMI:: ondernemingen.318.1.1.1.4.2.2.0 = Spoor32: 50
SNMPv2-SMI:: ondernemingen.318.1.1.1.4.2.3.0 = Spoor32: 13
SNMPv2-SMI:: ondernemingen.318.1.1.1.4.2.4.0 = Spoor32: 13
SNMPv2-SMI:: ondernemingen.318.1.1.1.7.2.3.0 = STRING: "NEE"
SNMPv2-SMI:: ondernemingen.318.1.1.1.7.2.4.0 = STRING: "NEE"
SNMPv2-SMI:: ondernemingen.318.1.1.1.8.1.0 = Spoor32: 1

Als u het monitoringscript verder configureert, kunt u deze handige grafieken krijgen:

UploadenSpanningBatterijtemplooptijd
AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliseren
Back-up en herstel plaknotities in Windows 10

Back-up en herstel plaknotities in Windows 10

AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliserenS...

Lees verder

Stel audio-uitvoerapparaat in voor apps afzonderlijk in Windows 10

Stel audio-uitvoerapparaat in voor apps afzonderlijk in Windows 10

AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliserenI...

Lees verder

Wijzig het standaard geluidsinvoerapparaat in Windows 10

Wijzig het standaard geluidsinvoerapparaat in Windows 10

In Windows 10 kan de gebruiker het standaard geluidsinvoerapparaat specificeren. Recente versies ...

Lees verder