Windows Tips & News

Jak sledovat stav USB UPS přes SNMP

click fraud protection

Jak sledovat stav USB UPS přes SNMP

Existuje několik počítačů s UPS připojenými přes USB. Všechny počítače používají program apcupsd. Řekněme, že chcete shromáždit informace o stavu napájení pro každou jednotku na jednom místě. Protože tam snmpd již běží, bylo by logické rozšířit jeho funkcionalitu.

Níže uvedené řešení, s laskavým svolením Adminův blog, bude shromažďovat data ze všech jednotek snmpd najednou.

Aby bylo možné sledovat stav USB UPS přes SNMP, musíme nejprve upravit konfiguraci démona snmp.

Přípravky

Přidá následující do souboru config snmpd.conf.

# UPS APC
projít .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Obsah skriptu /etc/snmp/apcupsd.sh je následující.

#!/bin/sh -f # Zkontrolujte, zda je apcupsd online. apcaccess > /dev/null 2>&1 || exit 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Požadované OID # # Zpracujte požadavky SET jednoduchým protokolováním přiřazené hodnoty. # Všimněte si, že taková "přiřazení" nejsou trvalá, # ani není ověřena syntaxe nebo požadovaná hodnota. # if [ "$1" = "-s" ]; pak. echo $* >> /tmp/passtest.log. výstup 0. fi # # GETNEXT požadavky - určení další platné instance. # if [ "$1" = "-n" ]; pak. případ "$REQ" v. $PLACE| \ $PLACE.0| \ $PLACE.0.*| \ $PLACE.1| \ $MÍSTO.1.1.0*) RET=$MÍSTO.1.1.1.0;; $PLACE.1*| \ $PLACE.2.0| \ $PLACE.2.0.*| \ $PLACE.2.1| \ $PLACE.2.2.0*) RET=$MÍSTO.2.2.1.0;; $PLACE.2.2.1*) RET=$MÍSTO.2.2.2.0;; $MÍSTO.2.2.2*) RET=$MÍSTO.2.2.3.0;; $PLACE.2.2.3*) RET=$MÍSTO.2.2.4.0;; $PLACE.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $PLACE.3.2.0*) RET=$MÍSTO.3.2.1.0;; $PLACE.3.2.1*| \ $PLACE.3.2.2*| \ $PLACE.3.2.3*) RET=$MÍSTO.3.2.4.0;; $PLACE.3.2.4*) RET=$MÍSTO.3.2.5.0;; $PLACE.3.2*| \ $PLACE.4.0*| \ $PLACE.4.1*| \ $PLACE.4.2.0*) RET=$MÍSTO.4.2.1.0;; $PLACE.4.2.1*) RET=$MÍSTO.4.2.2.0;; $MÍSTO.4.2.2*) RET=$MÍSTO.4.2.3.0;; $PLACE.4.2.3*) RET=$MÍSTO.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*| \ $MÍSTO.7.2.2*) RET=$MÍSTO.7.2.3.0;; $MÍSTO.7.2.3*) RET=$MÍSTO.7.2.4.0;; $PLACE.7*| \ $PLACE.8.0*) RET=$MÍSTO.8.1.0;; *) exit 0;; esac. jiný. # # Požadavky GET - zkontrolujte platnou instanci. # případ "$REQ" v. $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 # # "Zpracovat" požadavky GET* - vrátí pevně zakódovanou hodnotu. # echo "$RET" případ "$RET" v. $PLACE.1.1.1.0) echo "řetězec"; apcaccess -u -p MODEL; výstup 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; výstup 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p POLOŽKA; výstup 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); výstup 0;; $PLACE.2.2.4.0) echo "řetězec"; apcaccess -u -p BATTDATE; výstup 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; výstup 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; výstup 0;; $PLACE.3.2.5.0) echo "řetězec"; apcaccess -u -p LASTXFER; výstup 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; výstup 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; výstup 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; výstup 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; výstup 0;; $PLACE.7.2.3.0) echo "řetězec"; apcaccess -u -p SELFTEST; výstup 0;; $PLACE.7.2.4.0) echo "řetězec"; apcaccess -u -p SELFTEST; výstup 0;; $PLACE.8.1.0) echo "Gauge32"; echo 1; výstup 0;; *) echo "řetězec"; echo "potvrzuji... $RET $REQ"; výstup 0;; # Nemělo by se to stát. esac.

Pokud se zajímáte o OID, můžete je najít TADY. Upozorňujeme, že některé modely UPS nevracejí všechny parametry nebo v nesprávném formátu, takže kód může obsahovat nepřesnosti a útržky.

Nyní jste připraveni.

Jak sledovat stav USB UPS přes SNMP

Chcete-li sledovat stav USB UPS přes SNMP, spusťte následující příkaz: snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Výstup bude takový:

SNMPv2-SMI:: enterprises.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750 "
SNMPv2-SMI:: podniky.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: podniky.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: podniky.318.1.1.1.2.2.3.0 = Timeticks: (432000) 1:12:00.00
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: podniky.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: podniky.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.5.0 = STRING: "Automatický nebo explicitní autotest"
SNMPv2-SMI:: podniky.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: podniky.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: podniky.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: podniky.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.3.0 = STRING: "NE"
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = STRING: "NE"
SNMPv2-SMI:: enterprises.318.1.1.1.8.1.0 = Gauge32: 1

Pokud dále konfigurujete monitorovací skript, můžete získat tyto šikovné grafy:

Odinstalujte a odstraňte náčrt obrazovky ve Windows 10

Odinstalujte a odstraňte náčrt obrazovky ve Windows 10

Windows 10 je dodáván se sadou přibalených aplikací, které jsou standardně nainstalovány pro všec...

Přečtěte si více

Jak odinstalovat aktualizaci Windows 10 Fall Creators Update

Jak odinstalovat aktualizaci Windows 10 Fall Creators Update

DOPORUČUJEME: Kliknutím sem opravíte problémy se systémem Windows a optimalizujete výkon systémuM...

Přečtěte si více

Opravte chybu chybějících aplikací v aktualizaci Windows 10 Fall Creators

Opravte chybu chybějících aplikací v aktualizaci Windows 10 Fall Creators

DOPORUČUJEME: Kliknutím sem opravíte problémy se systémem Windows a optimalizujete výkon systémuJ...

Přečtěte si více