Windows Tips & News

Hur man övervakar USB UPS-status via SNMP

click fraud protection

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:

Opera 50: Chromecast-stöd

Opera 50: Chromecast-stöd

Idag släppte teamet bakom webbläsaren Opera en ny utvecklarversion av sin produkt. Opera 50.0.275...

Läs mer

Monica Bellucci temaarkiv

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer

Minimal hud från AIMP3

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer