Windows Tips & News

Ako monitorovať stav USB UPS cez SNMP

click fraud protection

Ako monitorovať stav USB UPS cez SNMP

Existuje niekoľko počítačov s UPS pripojeným cez USB. Všetky počítače používajú program apcupsd. Povedzme, že chcete zhromaždiť informácie o stave napájania pre každú jednotku na jednom mieste. Keďže tam snmpd už beží, bolo by logické rozšíriť jeho funkcionalitu.

Nižšie uvedené riešenie, s láskavým dovolením Adminov blog, bude zbierať údaje zo všetkých jednotiek snmpd naraz.

Aby sme mohli monitorovať stav USB UPS cez SNMP, musíme najprv upraviť konfiguráciu démona snmp.

Prípravky

Pridá nasledujúce do konfigurácie snmpd.conf.

# UPS APC
prejsť .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Obsah skriptu /etc/snmp/apcupsd.sh je nasledujúci.

#!/bin/sh -f # Skontrolujte, či je apcupsd online. apcaccess > /dev/null 2>&1 || výstup 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Požadované OID # # Spracujte požiadavky SET jednoduchým zaznamenaním priradenej hodnoty. # Všimnite si, že takéto "priradenia" nie sú trvalé, # ani nie je overená syntax alebo požadovaná hodnota. # if [ "$1" = "-s" ]; potom. echo $* >> /tmp/passtest.log. výstup 0. fi # # GETNEXT requesty - určenie ďalšej platnej inštancie. # if [ "$1" = "-n" ]; potom. prípad "$REQ" v. $PLACE| \ $PLACE.0| \ $PLACE.0.*| \ $PLACE.1| \ $ MIESTO.1.1.0*) RET=$MIESTO.1.1.1.0;; $PLACE.1*| \ $PLACE.2.0| \ $PLACE.2.0.*| \ $PLACE.2.1| \ $MIESTO.2.2.0*) RET=$MIESTO.2.2.1.0;; $MIESTO.2.2.1*) RET=$MIESTO.2.2.2.0;; $MIESTO.2.2.2*) RET=$MIESTO.2.2.3.0;; $MIESTO.2.2.3*) RET=$MIESTO.2.2.4.0;; $PLACE.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $ MIESTO.3.2.0*) RET=$MIESTO.3.2.1.0;; $PLACE.3.2.1*| \ $PLACE.3.2.2*| \ $ MIESTO.3.2.3*) RET=$MIESTO.3.2.4.0;; $PLACE.3.2.4*) RET=$MIESTO.3.2.5.0;; $PLACE.3.2*| \ $PLACE.4.0*| \ $PLACE.4.1*| \ $ MIESTO.4.2.0*) RET=$MIESTO.4.2.1.0;; $PLACE.4.2.1*) RET=$MIESTO.4.2.2.0;; $PLACE.4.2.2*) RET=$MIESTO.4.2.3.0;; $ MIESTO.4.2.3*) RET=$MIESTO.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*| \ $MIESTO.7.2.2*) RET=$MIESTO.7.2.3.0;; $MIESTO.7.2.3*) RET=$MIESTO.7.2.4.0;; $PLACE.7*| \ $PLACE.8.0*) RET=$MIESTO.8.1.0;; *) výstup 0;; esac. inak. # # Žiadosti GET - skontrolujte platnú inštanciu. # prí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;; *) výstup 0;; esac. fi # # "Spracovať" požiadavky GET* - vráti pevne zakódovanú hodnotu. # echo "$RET" prípad "$RET" v. $PLACE.1.1.1.0) echo "reťazec"; 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 "reťazec"; 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 "reťazec"; 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 "reťazec"; apcaccess -u -p SELFTEST; výstup 0;; $PLACE.7.2.4.0) echo "reťazec"; apcaccess -u -p SELFTEST; výstup 0;; $PLACE.8.1.0) echo "Gauge32"; ozvena 1; výstup 0;; *) echo "reťazec"; echo "Potvrdiť... $RET $REQ"; výstup 0;; # Nemalo by sa to stať. esac.

Ak vás zaujímajú OID, môžete ich nájsť TU. Upozorňujeme, že niektoré modely UPS nevracajú všetky parametre alebo v nesprávnom formáte, takže kód môže obsahovať nepresnosti a útržky.

Teraz ste pripravení.

Ako monitorovať stav USB UPS cez SNMP

Ak chcete monitorovať stav USB UPS cez SNMP, spustite nasledujúci príkaz: snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Výstup bude takýto:

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:: podniky.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ý alebo 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:: podniky.318.1.1.1.7.2.3.0 = STRING: "NIE"
SNMPv2-SMI:: podniky.318.1.1.1.7.2.4.0 = STRING: "NIE"
SNMPv2-SMI:: podniky.318.1.1.1.8.1.0 = Gauge32: 1

Ak ďalej konfigurujete monitorovací skript, môžete získať tieto šikovné grafy:

Pridajte kontextovú ponuku Bash v systéme Windows 10

Pridajte kontextovú ponuku Bash v systéme Windows 10

ODPORÚČAME: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon sy...

Čítaj viac

Kumulatívne aktualizácie pre Windows 10 vydané 8. júna 2021

Kumulatívne aktualizácie pre Windows 10 vydané 8. júna 2021

Dnes je opravný utorok, takže spoločnosť z Redmondu vydáva aktualizácie pre všetky podporované vy...

Čítaj viac

Edge Dev 93.0.910.5 vydaný s niekoľkými novými možnosťami a opravami

Edge Dev 93.0.910.5 vydaný s niekoľkými novými možnosťami a opravami

ODPORÚČAME: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon sy...

Čítaj viac