Windows Tips & News

Cum se monitorizează starea UPS-ului USB prin SNMP

click fraud protection
RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și pentru a optimiza performanța sistemului

Cum se monitorizează starea UPS-ului USB prin SNMP

Există mai multe computere cu UPS conectat prin USB. Toate computerele folosesc programul apcupsd. Să presupunem că doriți să agregați informații despre starea sursei de alimentare pentru fiecare unitate într-un singur loc. Deoarece snmpd rulează deja acolo, ar fi logic să-și extindă funcționalitatea.

Publicitate

Soluția de mai jos, prin amabilitatea Blogul administratorului, va colecta datele de la toate unitățile snmpd simultan.

Pentru a monitoriza starea UPS-ului USB prin SNMP, trebuie să modificăm mai întâi configurația demonului snmp.

Cuprinsascunde
Pregătiri
Cum se monitorizează starea UPS-ului USB prin SNMP

Pregătiri

Adaugă următoarele la configurația snmpd.conf.

# UPS APC
trece .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/acupsd.sh

Conținutul scriptului /etc/snmp/apcupsd.sh este următorul.

#!/bin/sh -f # Verificați că apcupsd este online. apcaccess > /dev/null 2>&1 || exit 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # OID solicitat # # Procesați cererile SET prin simpla înregistrare a valorii atribuite. # Rețineți că astfel de „atribuții” nu sunt persistente, # și nici sintaxa sau valoarea cerută nu sunt validate. # dacă [ "$1" = "-s" ]; atunci. echo $* >> /tmp/passtest.log. iesirea 0. fi # # solicitări GETNEXT - determinați următoarea instanță validă. # dacă [ "$1" = "-n" ]; atunci. cazul „$REQ” în. $PLACE| \ $PLACE.0| \ $PLACE.0.*| \ $PLACE.1| \ $LOC.1.1.0*) RET=$LOC.1.1.1.0;; $PLACE.1*| \ $PLACE.2.0| \ $PLACE.2.0.*| \ $PLACE.2.1| \ $LOC.2.2.0*) RET=$LOC.2.2.1.0;; $LOC.2.2.1*) RET=$LOC.2.2.2.0;; $LOC.2.2.2*) RET=$LOC.2.2.3.0;; $LOC.2.2.3*) RET=$LOC.2.2.4.0;; $PLACE.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $LOC.3.2.0*) RET=$LOC.3.2.1.0;; $PLACE.3.2.1*| \ $PLACE.3.2.2*| \ $LOC.3.2.3*) RET=$LOC.3.2.4.0;; $LOC.3.2.4*) RET=$LOC.3.2.5.0;; $PLACE.3.2*| \ $PLACE.4.0*| \ $PLACE.4.1*| \ $LOC.4.2.0*) RET=$LOC.4.2.1.0;; $LOC.4.2.1*) RET=$LOC.4.2.2.0;; $LOC.4.2.2*) RET=$LOC.4.2.3.0;; $LOC.4.2.3*) RET=$LOC.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*| \ $LOC.7.2.2*) RET=$LOC.7.2.3.0;; $LOC.7.2.3*) RET=$LOC.7.2.4.0;; $PLACE.7*| \ $LOC.8.0*) RET=$LOC.8.1.0;; *) iesirea 0;; esac. altfel. # # solicitări GET - verificați o instanță validă. # cazul „$REQ” în. $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;; *) iesirea 0;; esac. fi # # „Procesează” solicitări GET* - returnează valoarea codificată. # ecou „$RET” cazul „$RET” în. $PLACE.1.1.1.0) echo "șir"; apcaccess -u -p MODEL; ieșire 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; ieșire 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; ieșire 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); ieșire 0;; $PLACE.2.2.4.0) echo "șir"; apcaccess -u -p BATTDATE; ieșire 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; ieșire 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; ieșire 0;; $PLACE.3.2.5.0) echo "șir"; apcaccess -u -p LASTXFER; ieșire 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; ieșire 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; ieșire 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; ieșire 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; ieșire 0;; $PLACE.7.2.3.0) echo "șir"; apcaccess -u -p SELFTEST; ieșire 0;; $PLACE.7.2.4.0) echo "șir"; apcaccess -u -p SELFTEST; ieșire 0;; $PLACE.8.1.0) echo "Gauge32"; ecou 1; ieșire 0;; *) echo "șir"; ecou „ack... $RET $REQ"; ieșire 0;; # Nu ar trebui să se întâmple. esac.

Dacă vă întrebați despre OID, le puteți găsi AICI. Rețineți că unele modele de UPS nu returnează toți parametrii sau în format greșit, astfel încât codul poate conține inexactități și stub-uri.

Acum ești gata.

Cum se monitorizează starea UPS-ului USB prin SNMP

Pentru a monitoriza starea UPS USB prin SNMP, executați următoarea comandă: snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Ieșirea va fi așa:

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: „Autotest automat sau explicit”
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: „NU”
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = STRING: „NU”
SNMPv2-SMI:: enterprises.318.1.1.1.8.1.0 = Gauge32: 1

Dacă configurați în continuare scriptul de monitorizare, puteți obține aceste grafice ingenioase:

ÎncărcareVoltajTemperatura baterieiTimp de rulare
RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și pentru a optimiza performanța sistemului
Cum se schimbă setările UAC în Windows 10

Cum se schimbă setările UAC în Windows 10

Începând cu Windows Vista, Microsoft a adăugat o nouă caracteristică de securitate numită User Ac...

Citeste mai mult

Vivaldi 3.5 este acum disponibil, aici sunt modificările

Vivaldi 3.5 este acum disponibil, aici sunt modificările

Vivaldi 3.5 este lansat și include o serie de îmbunătățiri aduse comenzilor rapide de la tastatur...

Citeste mai mult

Obțineți Classic Paint înapoi în Windows 10 Creators Update

Obțineți Classic Paint înapoi în Windows 10 Creators Update

RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și a optimiza performanța sistem...

Citeste mai mult