Windows Tips & News

Hur man övervakar USB UPS-status via SNMP

Hur man övervakar USB UPS-status via SNMP

Det finns flera datorer med USB-ansluten UPS. Alla datorer använder programmet apcupsd. Säg att du vill samla information om tillståndet för strömförsörjningen för varje enhet på ett ställe. Eftersom snmpd redan körs där skulle det vara logiskt att utöka dess funktionalitet.

Nedanstående lösning, med tillstånd av Admins blogg, samlar in data från alla snmpd-enheter på en gång.

För att övervaka USB UPS-status via SNMP måste vi först ändra snmp-demonkonfigurationen.

Förberedelser

Lägger till följande till konfigurationen snmpd.conf.

# APC UPS
passera .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Innehållet i skriptet /etc/snmp/apcupsd.sh är som följer.

#!/bin/sh -f # Kontrollera att apcupsd är online. apcaccess > /dev/null 2>&1 || exit 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Begärt OID-nummer # Bearbeta SET-förfrågningar genom att helt enkelt logga det tilldelade värdet. # Observera att sådana "tilldelningar" inte är beständiga, # inte heller är syntaxen eller det begärda värdet validerat. # if [ "$1" = "-s" ]; sedan. echo $* >> /tmp/passtest.log. avsluta 0. fi # # GETNEXT-förfrågningar - bestäm nästa giltiga instans. # if [ "$1" = "-n" ]; sedan. fallet "$REQ" i. $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;; *) exit 0;; esac. annan. # # GET-förfrågningar - kontrollera efter giltig instans. # fallet "$REQ" i. $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;; *) exit 0;; esac. fi # # "Bearbeta" GET*-förfrågningar - returnera hårdkodat värde. # eko "$RET" fallet "$RET" i. $PLACE.1.1.1.0) eko "sträng"; apcaccess -u -p MODELL; utgång 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; utgång 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; utgång 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); utgång 0;; $PLACE.2.2.4.0) eko "sträng"; apcaccess -u -p BATTDATE; utgång 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; utgång 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; utgång 0;; $PLACE.3.2.5.0) eko "sträng"; apcaccess -u -p LASTXFER; utgång 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; utgång 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; utgång 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; utgång 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; utgång 0;; $PLACE.7.2.3.0) eko "sträng"; apcaccess -u -p SJÄLVMEST; utgång 0;; $PLACE.7.2.4.0) eko "sträng"; apcaccess -u -p SJÄLVMEST; utgång 0;; $PLACE.8.1.0) echo "Gauge32"; eko 1; utgång 0;; *) eko "sträng"; eko "ack... $RET $REQ"; utgång 0;; # Bör inte hända. esac.

Om du undrar över OID kan du hitta dem HÄR. Observera att vissa UPS-modeller inte returnerar alla parametrar eller i fel format, så koden kan innehålla felaktigheter och stubbar.

Nu är du redo.

Hur man övervakar USB UPS-status via SNMP

För att övervaka USB UPS-status via SNMP, kör följande kommando: snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Utgången blir så här:

SNMPv2-SMI:: enterprises.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750 "
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.3.0 = Tidsgränser: (432000) 1:12:00.00
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.5.0 = STRING: "Automatiskt eller explicit självtest"
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.3.0 = STRÄNG: "NEJ"
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = STRÄNG: "NEJ"
SNMPv2-SMI:: enterprises.318.1.1.1.8.1.0 = Gauge32: 1

Om du konfigurerar övervakningsskriptet ytterligare kan du få dessa snygga grafer:

PowerToys 0.37 stabil version släppt med en massa förbättringar

PowerToys 0.37 stabil version släppt med en massa förbättringar

Lämna ett svarMicrosoft släppte en ny stabil version av deras PowerToys-svit. PowerToys 0.37, äve...

Läs mer

Microsoft Defender ATP för Android är nu tillgängligt på Google Play

Microsoft Defender ATP för Android är nu tillgängligt på Google Play

Microsoft har släppt appen Defender ATP via Google Play Store. Appen finns nu tillgänglig för ned...

Läs mer

Microsoft Edge tillåter nu att ställa in anpassat tema från sidalternativen Ny flik

Microsoft Edge tillåter nu att ställa in anpassat tema från sidalternativen Ny flik

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaEn ny m...

Läs mer