Windows Tips & News

Kuinka seurata USB UPS: n tilaa SNMP: n kautta

Kuinka seurata USB UPS: n tilaa SNMP: n kautta

On olemassa useita tietokoneita, joissa on USB-liitännäinen UPS. Kaikki tietokoneet käyttävät apcupsd-ohjelmaa. Oletetaan, että haluat koota yhteen paikkaan tiedot jokaisen yksikön virtalähteen tilasta. Koska snmpd on jo käynnissä siellä, olisi loogista laajentaa sen toimintoja.

Alla oleva ratkaisu Ylläpitäjän blogi, kerää tiedot kaikista snmpd-yksiköistä kerralla.

Jotta voimme valvoa USB UPS: n tilaa SNMP: n kautta, meidän on ensin muutettava snmp-daemonin konfiguraatiota.

Valmistelut

Lisää seuraavan tiedoston config snmpd.conf.

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

Komentosarjan /etc/snmp/apcupsd.sh sisältö on seuraava.

#!/bin/sh -f # Tarkista, että apcupsd on online-tilassa. apcaccess > /dev/null 2>&1 || poistu 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Pyydetty OID # # Käsittele SET-pyynnöt kirjaamalla määritetty arvo. # Huomaa, että tällaiset "määritykset" eivät ole pysyviä, # eikä syntaksia tai pyydettyä arvoa ole vahvistettu. # jos [ "$1" = "-s" ]; sitten. echo $* >> /tmp/passtest.log. poistu 0. fi # # GETNEXT-pyynnöt - määritä seuraava kelvollinen esiintymä. # jos [ "$1" = "-n" ]; sitten. tapaus "$REQ" sisään. $PAIKKA| \ $PAIKKA.0| \ $PAIKKA.0.*| \ $PAIKKA.1| \ $PAIKKA.1.1.0*) RET=$PAIKKA.1.1.1.0;; $PAIKKA.1*| \ $PAIKKA.2.0| \ $PAIKKA.2.0.*| \ $PAIKKA.2.1| \ $PAIKKA.2.2.0*) RET=$PAIKKA.2.2.1.0;; $PAIKKA.2.2.1*) RET=$PAIKKA.2.2.2.0;; $PAIKKA.2.2.2*) RET=$PAIKKA.2.2.3.0;; $PAIKKA.2.2.3*) RET=$PAIKKA.2.2.4.0;; $PAIKKA.2*| \ $PAIKKA.3.0*| \ $PAIKKA.3.1*| \ $PAIKKA.3.2.0*) RET=$PAIKKA.3.2.1.0;; $PAIKKA.3.2.1*| \ $PAIKKA.3.2.2*| \ $PAIKKA.3.2.3*) RET=$PAIKKA.3.2.4.0;; $PAIKKA.3.2.4*) RET=$PAIKKA.3.2.5.0;; $PAIKKA.3.2*| \ $PAIKKA.4.0*| \ $PAIKKA.4.1*| \ $PAIKKA.4.2.0*) RET=$PAIKKA.4.2.1.0;; $PAIKKA.4.2.1*) RET=$PAIKKA.4.2.2.0;; $PAIKKA.4.2.2*) RET=$PAIKKA.4.2.3.0;; $PAIKKA.4.2.3*) RET=$PAIKKA.4.2.4.0;; $PAIKKA.4.2.*| \ PAIKKA $.5*| \ $PAIKKA.6*| \ $PAIKKA.7,0*| \ $PAIKKA.7.1*| \ $PAIKKA.7.2.0*| \ $PAIKKA.7.2.1*| \ $PAIKKA.7.2.2*) RET=$PAIKKA.7.2.3.0;; $PAIKKA.7.2.3*) RET=$PAIKKA.7.2.4.0;; PAIKKA, 7 $*| \ $PAIKKA.8.0*) RET=$PAIKKA.8.1.0;; *) poistu 0;; esac. muu. # # GET-pyynnöt - tarkista kelvollinen esiintymä. # tapaus "$REQ" sisään. $PAIKKA.1.1.1.0| \ $PAIKKA.2.2.1.0| \ $PAIKKA.2.2.2.0| \ $PAIKKA.2.2.3.0| \ $PAIKKA.2.2.4.0| \ $PAIKKA.3.2.1.0| \ $PAIKKA.3.2.4.0| \ $PAIKKA.3.2.5.0| \ $PAIKKA.4.2.1.0| \ $PAIKKA.4.2.2.0| \ $PAIKKA.4.2.3.0| \ $PAIKKA.4.2.4.0| \ $PAIKKA.7.2.3.0| \ $PAIKKA.7.2.4.0| \ $PAIKKA.8.1.0) RET=$REQ;; *) poistu 0;; esac. fi # # "Prosessoi" GET*-pyynnöt - palauttaa koodatun arvon. # kaiku "$RET" kotelo "$RET" sisään. $PLACE.1.1.1.0) kaiku "merkkijono"; apcaccess -u -p MALLI; poistu 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; poistu 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; poistu 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); poistu 0;; $PLACE.2.2.4.0) kaiku "merkkijono"; apcaccess -u -p BATTDATE; poistu 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; poistu 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; poistu 0;; $PLACE.3.2.5.0) kaiku "merkkijono"; apcaccess -u -p LASTXFER; poistu 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; poistu 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; poistu 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; poistu 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; poistu 0;; $PLACE.7.2.3.0) kaiku "merkkijono"; apcaccess -u -p SELFTEST; poistu 0;; $PLACE.7.2.4.0) kaiku "merkkijono"; apcaccess -u -p SELFTEST; poistu 0;; $PLACE.8.1.0) echo "Gauge32"; kaiku 1; poistu 0;; *) kaiku "merkkijono"; kaiku "hyvä... $RET $REQ"; poistu 0;; # Ei pitäisi tapahtua. esac.

Jos mietit OID: itä, löydät ne TÄSSÄ. Huomaa, että jotkin UPS-mallit eivät palauta kaikkia parametreja tai ne ovat väärässä muodossa, joten koodi saattaa sisältää epätarkkuuksia ja pätkiä.

Nyt olet valmis.

Kuinka seurata USB UPS: n tilaa SNMP: n kautta

Voit seurata USB UPS: n tilaa SNMP: n kautta suorittamalla seuraavan komennon: snmpwalk -v 1 -c julkinen 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Tuloste tulee olemaan tällainen:

SNMPv2-SMI:: yritykset.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: yritykset.318.1.1.1.2.2.1.0 = Mittari32: 100
SNMPv2-SMI:: yritykset.318.1.1.1.2.2.2.0 = Mittari32: 36
SNMPv2-SMI:: yritykset.318.1.1.1.2.2.3.0 = Aikataulut: (432000) 1:12:00.00
SNMPv2-SMI:: yritykset.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: yritykset.318.1.1.1.3.2.1.0 = Mittari32: 227
SNMPv2-SMI:: yritykset.318.1.1.1.3.2.4.0 = Mittari32: 50
SNMPv2-SMI:: companies.318.1.1.1.3.2.5.0 = STRING: "Automaattinen tai eksplisiittinen itsetestaus"
SNMPv2-SMI:: yritykset.318.1.1.1.4.2.1.0 = Mittari32: 227
SNMPv2-SMI:: yritykset.318.1.1.1.4.2.2.0 = Mittari32: 50
SNMPv2-SMI:: yritykset.318.1.1.1.4.2.3.0 = Mittari32: 13
SNMPv2-SMI:: yritykset.318.1.1.1.4.2.4.0 = Mittari32: 13
SNMPv2-SMI:: yritykset.318.1.1.1.7.2.3.0 = STRING: "EI"
SNMPv2-SMI:: yritykset.318.1.1.1.7.2.4.0 = STRING: "EI"
SNMPv2-SMI:: yritykset.318.1.1.1.8.1.0 = Mittari32: 1

Jos määrität valvontaskriptiä edelleen, voit saada nämä hienot kaaviot:

Korjaukset ja tunnetut ongelmat Windows 10 Build 15042:ssa

Korjaukset ja tunnetut ongelmat Windows 10 Build 15042:ssa

SUOSITELTU: Napsauta tätä korjataksesi Windows-ongelmat ja optimoidaksesi järjestelmän suoritusky...

Lue lisää

Windows 10 Build 15042 -arkistot

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi, kun selaat sivustoa. Näistä...

Lue lisää

Windows 10 Build 15042 julkaistu Fast Ring Insidersille

Windows 10 Build 15042 julkaistu Fast Ring Insidersille

Microsoft julkaisi tänään uuden Windows 10 Insider Preview -version. Windows 10 build 15042, joka...

Lue lisää