Windows Tips & News

Cómo monitorear el estado del UPS USB a través de SNMP

click fraud protection

Cómo monitorear el estado del UPS USB a través de SNMP

Hay varias computadoras con UPS conectado por USB. Todas las computadoras usan el programa apcupsd. Supongamos que desea agregar información sobre el estado de la fuente de alimentación para cada unidad en un solo lugar. Dado que snmpd ya se está ejecutando allí, sería lógico ampliar su funcionalidad.

La siguiente solución, cortesía del Blog del administrador, recopilará los datos de todas las unidades snmpd a la vez.

Para monitorear el estado del UPS USB a través de SNMP, primero debemos modificar la configuración del demonio snmp.

Preparativos

Agrega lo siguiente a la configuración snmpd.conf.

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

El contenido del script /etc/snmp/apcupsd.sh es el siguiente.

#! / bin / sh -f # Compruebe que apcupsd esté en línea. apcaccess> / dev / null 2> & 1 || salir 0 LUGAR = ". 1.3.6.1.4.1.318.1.1.1" REQ = "$ 2" # OID solicitado # # Procese las solicitudes SET simplemente registrando el valor asignado. # Tenga en cuenta que tales "asignaciones" no son persistentes, # ni se valida la sintaxis o el valor solicitado. # si ["$ 1" = "-s"]; luego. echo $ * >> /tmp/passtest.log. salir 0. fi # # Solicitudes GETNEXT: determina la siguiente instancia válida. # si ["$ 1" = "-n"]; luego. caso "$ REQ" en. $ PLACE | \ $ PLACE.0 | \ $ LUGAR.0. * | \ $ PLACE.1 | \ $ LUGAR.1.1.0 *) RET = $ LUGAR.1.1.1.0;; $ PLACE.1 * | \ $ PLACE.2.0 | \ $ LUGAR.2.0. * | \ $ PLACE.2.1 | \ $ LUGAR.2.2.0 *) RET = $ LUGAR.2.2.1.0;; $ LUGAR.2.2.1 *) RET = $ LUGAR.2.2.2.0;; $ LUGAR.2.2.2 *) RET = $ LUGAR.2.2.3.0;; $ LUGAR.2.2.3 *) RET = $ LUGAR.2.2.4.0;; $ PLACE.2 * | \ $ PLACE.3.0 * | \ $ PLACE.3.1 * | \ $ LUGAR.3.2.0 *) RET = $ LUGAR.3.2.1.0;; $ PLACE.3.2.1 * | \ $ PLACE.3.2.2 * | \ $ LUGAR.3.2.3 *) RET = $ LUGAR.3.2.4.0;; $ LUGAR.3.2.4 *) RET = $ LUGAR.3.2.5.0;; $ PLACE.3.2 * | \ $ PLACE.4.0 * | \ $ PLACE.4.1 * | \ $ LUGAR.4.2.0 *) RET = $ LUGAR.4.2.1.0;; $ LUGAR.4.2.1 *) RET = $ LUGAR.4.2.2.0;; $ LUGAR.4.2.2 *) RET = $ LUGAR.4.2.3.0;; $ LUGAR.4.2.3 *) RET = $ LUGAR.4.2.4.0;; $ LUGAR.4.2. * | \ $ PLACE.5 * | \ $ PLACE.6 * | \ $ PLACE.7.0 * | \ $ PLACE.7.1 * | \ $ PLACE.7.2.0 * | \ $ PLACE.7.2.1 * | \ $ LUGAR.7.2.2 *) RET = $ LUGAR.7.2.3.0;; $ LUGAR.7.2.3 *) RET = $ LUGAR.7.2.4.0;; $ PLACE.7 * | \ $ LUGAR.8.0 *) RET = $ LUGAR.8.1.0;; *) salir 0;; esac. demás. # # Solicitudes GET: verifique una instancia válida. # caso "$ REQ" en. $ 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 | \ $ LUGAR.8.1.0) RET = $ REQ;; *) salir 0;; esac. fi # # "Procesar" solicitudes GET *: devuelve un valor codificado. # echo "$ RET" caso "$ RET" en. $ PLACE.1.1.1.0) echo "cadena"; apcaccess -u -p MODELO; salir 0;; $ PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; salir 0;; $ PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ARTÍCULO; salir 0;; $ PLACE.2.2.3.0) echo "Timeticks"; echo $ (($ (LC_ALL = C printf "%. * f" 0 $ (apcaccess -u -p TIMELEFT)) * 6000)); salir 0;; $ PLACE.2.2.4.0) echo "cadena"; apcaccess -u -p BATTDATE; salir 0;; $ PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; salir 0;; $ PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; salir 0;; $ PLACE.3.2.5.0) echo "cadena"; apcaccess -u -p LASTXFER; salir 0;; $ PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p SALIDAV; salir 0;; $ PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; salir 0;; $ PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; salir 0;; $ PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; salir 0;; $ PLACE.7.2.3.0) echo "cadena"; apcaccess -u -p SELFTEST; salir 0;; $ PLACE.7.2.4.0) echo "cadena"; apcaccess -u -p SELFTEST; salir 0;; $ PLACE.8.1.0) echo "Gauge32"; echo 1; salir 0;; *) echo "cadena"; echo "ack... $ RET $ REQ "; salir 0;; # No debería suceder. esac.

Si se está preguntando acerca de los OID, puede encontrarlos AQUÍ. Tenga en cuenta que algunos modelos de UPS no devuelven todos los parámetros o en el formato incorrecto, por lo que el código puede contener inexactitudes y talones.

Ahora estás listo.

Cómo monitorear el estado del UPS USB a través de SNMP

Para monitorear el estado del UPS USB a través de SNMP, ejecute el siguiente comando: snmpwalk -v 1 -c público 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. La salida será así:

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:: empresas.318.1.1.1.2.2.2.0 = Calibre32: 36
SNMPv2-SMI:: empresas.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:: empresas.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: "Autoprueba automática o explícita"
SNMPv2-SMI:: empresas.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: "NO"
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = STRING: "NO"
SNMPv2-SMI:: enterprises.318.1.1.1.8.1.0 = Gauge32: 1

Si configura aún más el script de monitoreo, puede obtener estos ingeniosos gráficos:

Sintonizador Alt Tab VIII

Sintonizador Alt Tab VIII

RECOMENDADO: Haga clic aquí para solucionar problemas de Windows y optimizar el rendimiento del s...

Lee mas

Cerrar umbral para aplicaciones de Metro

Cerrar umbral para aplicaciones de Metro

RECOMENDADO: Haga clic aquí para solucionar problemas de Windows y optimizar el rendimiento del s...

Lee mas

Tema Beautiful Places para Windows 8

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. Fuer...

Lee mas