Windows Tips & News

Cum se monitorizează starea UPS-ului USB prin SNMP

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:

Windows 10 Build 15058 ce este nou Arhive

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

Skype pentru persoane din interior: setări noi în ecranul de conectare a apelurilor, taste rapide globale

Skype pentru persoane din interior: setări noi în ecranul de conectare a apelurilor, taste rapide globale

Microsoft lansează o nouă versiune a aplicației Skype Insider Preview. Skype pentru desktop pentr...

Citeste mai mult

Cum să reintroduceți butonul stea marcajului în bara de adrese a Firefox

Cum să reintroduceți butonul stea marcajului în bara de adrese a Firefox

Cu o viitoare actualizare a Firefox, Mozilla intenționează să lanseze o nouă interfață de utiliza...

Citeste mai mult