Windows Tips & News

Kako spremljati status USB UPS prek SNMP

click fraud protection

Kako spremljati status USB UPS prek SNMP

Obstaja več računalnikov z USB povezanim UPS. Vsi računalniki uporabljajo program apcupsd. Recimo, da želite združiti informacije o stanju napajanja za vsako enoto na enem mestu. Ker snmpd tam že deluje, bi bilo logično razširiti njegovo funkcionalnost.

Spodnja rešitev, z dovoljenjem Administratorjev blog, bo zbral podatke iz vseh snmpd enot hkrati.

Za spremljanje stanja USB UPS prek SNMP, moramo najprej spremeniti konfiguracijo demona snmp.

Priprave

V konfiguracijo snmpd.conf doda naslednje.

# APC UPS
pass .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Vsebina skripta /etc/snmp/apcupsd.sh je naslednja.

#!/bin/sh -f # Preverite, ali je apcupsd na spletu. apcaccess > /dev/null 2>&1 || izhod 0 MESTO=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Zahtevani OID # # Obdelajte zahteve SET tako, da preprosto zabeležite dodeljeno vrednost. # Upoštevajte, da takšne "dodelitve" niso trajne, # niti ni potrjena sintaksa ali zahtevana vrednost. # če [ "$1" = "-s" ]; potem. echo $* >> /tmp/passtest.log. izhod 0. fi # # Zahteve GETNEXT - določi naslednji veljaven primerek. # če [ "$1" = "-n" ]; potem. primer "$REQ" v. $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.*| \ $PLACE.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;; $PLACE.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $PLACE.3.2.0*) RET=$PLACE.3.2.1.0;; $PLACE.3.2.1*| \ $PLACE.3.2.2*| \ $PLACE.3.2.3*) RET=$PLACE.3.2.4.0;; $PLACE.3.2.4*) RET=$PLACE.3.2.5.0;; $PLACE.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.*| \ $PLACE.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;; *) izhod 0;; esac. drugo. # # Zahteve GET - preverite veljaven primer. # primer "$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;; *) izhod 0;; esac. fi # # "Obdelaj" zahteve GET* - vrni trdo kodirano vrednost. # odmev "$RET" primer "$RET" v. $PLACE.1.1.1.0) echo "niz"; apcaccess -u -p MODEL; izhod 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; izhod 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; izhod 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); izhod 0;; $PLACE.2.2.4.0) echo "niz"; apcaccess -u -p BATTDATE; izhod 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; izhod 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; izhod 0;; $PLACE.3.2.5.0) echo "niz"; apcaccess -u -p LASTXFER; izhod 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p IZHOD TV; izhod 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; izhod 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; izhod 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; izhod 0;; $PLACE.7.2.3.0) echo "niz"; apcaccess -u -p SAMOTESTI; izhod 0;; $PLACE.7.2.4.0) echo "niz"; apcaccess -u -p SAMOTESTI; izhod 0;; $PLACE.8.1.0) echo "Gauge32"; odmev 1; izhod 0;; *) echo "string"; echo "ack... $RET $REQ"; izhod 0;; # Ne bi se smelo zgoditi. esac.

Če se sprašujete o OID-jih, jih lahko najdete TUKAJ. Upoštevajte, da nekateri modeli UPS ne vrnejo vseh parametrov ali so v napačni obliki, zato lahko koda vsebuje netočnosti in škrbine.

Zdaj ste pripravljeni.

Kako spremljati status USB UPS prek SNMP

Če želite spremljati stanje USB UPS prek SNMP, zaženite naslednji ukaz: snmpwalk -v 1 -c javna 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Izhod bo takšen:

SNMPv2-SMI:: enterprises.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: enterprises.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:: enterprises.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.5.0 = STRING: "Samodejni ali eksplicitni samopreizkus"
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: enterprises.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

Če dodatno konfigurirate skript za spremljanje, lahko dobite te izvrstne grafe:

Novi pravilniki skupine v sistemu Windows 10 različice 21H2

Novi pravilniki skupine v sistemu Windows 10 različice 21H2

V sistemu Windows 10 različice 21H2 je sedem novih skupinskih pravilnikov, ki jih bo Microsoft to...

Preberi več

Izdan Linux Mint 19 'Tara', tukaj je kaj je novega

Izdan Linux Mint 19 'Tara', tukaj je kaj je novega

Končna različica priljubljene distribucije Linux Mint "Tara" je izšla včeraj. Tara je različica 1...

Preberi več

Kako spremeniti privzeto zvočno napravo v sistemu Windows 10

Kako spremeniti privzeto zvočno napravo v sistemu Windows 10

V sistemu Windows 10 so na voljo številne možnosti, s katerimi lahko spremenite zvoke za različne...

Preberi več