Windows Tips & News

Kuidas jälgida USB UPSi olekut SNMP kaudu

Kuidas jälgida USB UPSi olekut SNMP kaudu

USB-ühendusega UPS-iga on mitu arvutit. Kõik arvutid kasutavad apcupsd programmi. Oletame, et soovite koondada teavet iga seadme toiteallika oleku kohta ühte kohta. Kuna snmpd seal juba töötab, siis oleks loogiline selle funktsionaalsust laiendada.

Allpool toodud lahendus, tänu Administraatori blogi, kogub andmeid kõigist snmpd-üksustest korraga.

USB UPSi oleku jälgimiseks SNMP kaudu peame esmalt muutma snmp deemoni konfiguratsiooni.

Ettevalmistused

Lisab faili config snmpd.conf järgmise.

# APC UPS
läbima .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Skripti /etc/snmp/apcupsd.sh sisu on järgmine.

#!/bin/sh -f # Kontrollige, kas apcupsd on võrgus. apcaccess > /dev/null 2>&1 || väljumine 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Nõutud OID # # Töötle SET-päringuid, logides lihtsalt määratud väärtuse. # Pange tähele, et sellised "määramised" ei ole püsivad, # samuti pole süntaksit ega nõutud väärtust kinnitatud. # if [ "$1" = "-s" ]; siis. echo $* >> /tmp/passtest.log. väljumine 0. fi # # GETNEXT päringud – määrake järgmine kehtiv eksemplar. # kui [ "$1" = "-n"]; siis. ümbris "$REQ" sisse. $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.*| \ $KOHT.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;; $KOHT.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $PLACE.3.2.0*) RET=$PLACE.3.2.1.0;; $PLACE.3.2.1*| \ $KOHT.3.2.2*| \ $PLACE.3.2.3*) RET=$PLACE.3.2.4.0;; $PLACE.3.2.4*) RET=$PLACE.3.2.5.0;; $KOHT.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.*| \ $KOHT.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;; *) väljumine 0;; esac. muidu. # # GET päringud – kontrollige kehtivat eksemplari. # ümbris "$REQ" sisse. $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äljumine 0;; esac. fi # # "Töötle" GET* taotlusi – tagastab kõvakodeeritud väärtuse. # kaja "$RET" ümbris "$RET" sisse. $PLACE.1.1.1.0) kaja "string"; apcaccess -u -p MUDEL; väljumine 0;; $PLACE.2.2.1.0) kaja "Gauge32"; apcaccess -u -p BCHARGE; väljumine 0;; $PLACE.2.2.2.0) kaja "Gauge32"; apcaccess -u -p ITEMP; väljumine 0;; $PLACE.2.2.3.0) echo "Timeticks"; kaja $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); väljumine 0;; $PLACE.2.2.4.0) kaja "string"; apcaccess -u -p BATTDATE; väljumine 0;; $PLACE.3.2.1.0) kaja "Gauge32"; apcaccess -u -p LINEV; väljumine 0;; $PLACE.3.2.4.0) kaja "Gauge32"; apcaccess -u -p LINEFREQ; väljumine 0;; $PLACE.3.2.5.0) kaja "string"; apcaccess -u -p LASTXFER; väljumine 0;; $PLACE.4.2.1.0) kaja "Gauge32"; apcaccess -u -p OUTPUTV; väljumine 0;; $PLACE.4.2.2.0) kaja "Gauge32"; apcaccess -u -p LINEFREQ; väljumine 0;; $PLACE.4.2.3.0) kaja "Gauge32"; apcaccess -u -p LOADPCT; väljumine 0;; $PLACE.4.2.4.0) kaja "Gauge32"; apcaccess -u -p LOADPCT; väljumine 0;; $PLACE.7.2.3.0) kaja "string"; apcaccess -u -p SELFTEST; väljumine 0;; $PLACE.7.2.4.0) kaja "string"; apcaccess -u -p SELFTEST; väljumine 0;; $PLACE.8.1.0) kaja "Gauge32"; kaja 1; väljumine 0;; *) kaja "string"; kaja "ack... $RET $REQ"; väljumine 0;; # Ei tohiks juhtuda. esac.

Kui teil on huvi OID-de kohta, võite need leida SIIN. Pange tähele, et mõned UPS-i mudelid ei tagasta kõiki parameetreid või vales vormingus, seega võib kood sisaldada ebatäpsusi ja tüngasid.

Nüüd olete valmis.

Kuidas jälgida USB UPSi olekut SNMP kaudu

USB UPSi oleku jälgimiseks SNMP kaudu käivitage järgmine käsk: snmpwalk -v 1 -c avalik 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Väljund saab olema selline:

SNMPv2-SMI:: ettevõtted.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.3.0 = Ajamõõtjad: (432000) 1:12:00.00
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: ettevõtted.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: ettevõtted.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: companies.318.1.1.1.3.2.5.0 = STRING: "Automaatne või selge enesetestimine"
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: ettevõtted.318.1.1.1.7.2.3.0 = STRING: "EI"
SNMPv2-SMI:: ettevõtted.318.1.1.1.7.2.4.0 = STRING: "EI"
SNMPv2-SMI:: ettevõtted.318.1.1.1.8.1.0 = Gauge32: 1

Kui konfigureerite seireskripti veelgi, saate need vahvad graafikud:

Windows 10 ARM-is saab 64-bitiste rakenduste toe novembris

Windows 10 ARM-is saab 64-bitiste rakenduste toe novembris

SOOVITATAV: Windowsi probleemide lahendamiseks ja süsteemi jõudluse optimeerimiseks klõpsake siin...

Loe rohkem

Paigaldage Linuxi failisüsteem Windows 10-sse

Paigaldage Linuxi failisüsteem Windows 10-sse

Linuxi failisüsteemi ühendamine Windows 10-sWSL 2 on uusim versioon arhitektuurist, mis annab Win...

Loe rohkem

Microsoft on välja andnud Windows 10 build 20211 arenduskanalile

Microsoft on välja andnud Windows 10 build 20211 arenduskanalile

SOOVITATAV: Windowsi probleemide lahendamiseks ja süsteemi jõudluse optimeerimiseks klõpsake siin...

Loe rohkem