Windows Tips & News

Kako spremljati status USB UPS prek SNMP

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:

Microsoftove nasvete bi lahko preimenovali v "Learning Hub"

Microsoftove nasvete bi lahko preimenovali v "Learning Hub"

Windows 10 vključuje vgrajeno aplikacijo "Microsoft Tips". Ta aplikacija je namenjena poučevanju ...

Preberi več

Arhivi učnega središča za Windows 10

To spletno mesto uporablja piškotke za izboljšanje vaše izkušnje med krmarjenjem po spletnem mest...

Preberi več

Arhivi aplikacije Windows 10 Tips

To spletno mesto uporablja piškotke za izboljšanje vaše izkušnje med krmarjenjem po spletnem mest...

Preberi več