Windows Tips & News

Cum se monitorizează starea UPS-ului USB prin SNMP

click fraud protection

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.

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.

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:

Foaia de calcul de referință pentru politica de grup pentru Windows 10 versiunea 1809

Foaia de calcul de referință pentru politica de grup pentru Windows 10 versiunea 1809

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

Citeste mai mult

Arhivele de corecție automată Windows 10

Windows 10 include o tastatură tactilă pentru computere și tablete cu ecran tactil. Când atingeți...

Citeste mai mult

Windows 10 Auto Windows 10 Arhive de sugestii automate

Acest site web folosește cookie-uri pentru a vă îmbunătăți experiența în timp ce navigați pe site...

Citeste mai mult