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:

El subsistema de Windows para Linux está fuera de Beta

El subsistema de Windows para Linux está fuera de Beta

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

Lee mas

Archivos de tiempo de cambio de Windows 10

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

Lee mas

Nuevas opciones de privacidad en Windows 10 Fall Creators Update

Nuevas opciones de privacidad en Windows 10 Fall Creators Update

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

Lee mas