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:

Jak povolit nové přetečení hlavního panelu ve Windows 11

Jak povolit nové přetečení hlavního panelu ve Windows 11

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

Přečtěte si více

Windows 11 Build 25169 ve vývojovém prostředí přidává do Personalizace nový motiv „Spotlight“

Windows 11 Build 25169 ve vývojovém prostředí přidává do Personalizace nový motiv „Spotlight“

Nové sestavení kanálu pro vývojáře obsahuje ještě jednu metodu, jak rychle povolit Desktop Spotli...

Přečtěte si více

Kanál Windows 11 Beta má dvě nové sestavení, 22621.440 a 22622.440

Kanál Windows 11 Beta má dvě nové sestavení, 22621.440 a 22622.440

V návaznosti na nové schéma vydala společnost Microsoft dvě nová sestavení kanálu beta. První, se...

Přečtěte si více