Windows Workstation UPS Monitoring con herramientas de UPS de red

¿Cuándo surge la tarea de monitorear el poder ininterrumpido en las estaciones de trabajo? Chirrió - reemplazado, el final. Reparar un UPS es una tarea ingrata, cambiar las baterías, no todos quieren perder el tiempo (o incluso un mal hombre).

Entonces pensé, especialmente después de una serie de UPS con fallas electrónicas. La situación se vio agravada por el software de los fabricantes. Él, por decirlo suavemente, basura. Y todos tienen APC, Ippon, Powercom, TrippLite. Qué servidor, para qué estaciones de trabajo. Probar versiones pagas después de la experiencia con las gratuitas, no había deseo. Y es realmente divertido cuando el UPS es de diferentes fabricantes.

Pero el monitoreo aún es necesario. Las ventajas son obvias: 1) puede cambiar el UPS ANTES de que emita un chillido de despedida; 2) puede ver de inmediato dónde está agotada la batería y dónde está la electrónica.
El menos es simple, como siempre: el costo de una decisión, en dinero u horas hombre.

Resolveremos este problema.

Si tenemos un zoológico, entonces la forma más adecuada es Network UPS Tools .

Hay poca información sobre Windows en él, y todavía no hay GUI. Pero lo resolveremos .

Para ser justos, debe tenerse en cuenta que hay un proyecto similar en Python . Pero para mí, personalmente, me parece completamente innecesario usar Python (y soluciones técnicas similares) en las que pueda sobrevivir con un par de líneas de secuencias de comandos nativas.

Descargo de responsabilidad
  • Esta no es una "solución preparada".
  • Esto no es una oración, sino una historia.
  • Sí, hay Zabbix, Cacti, etc., y estas son soluciones pesadas para grandes empresas que requieren un servidor dedicado y, de todos modos, algún tipo de capa intermedia para soportar el protocolo UPS correspondiente.
  • Con todo lo anterior, la solución es bastante simple, bastante fácil y cuesta 0 monedas.


Por supuesto, para recopilar información necesita un UPS con un puerto de información. Tengo problemas con el puerto IPPON COM, todo lo demás funciona con una explosión.

Por lo general, para estaciones de trabajo, el UPS está conectado a través de USB, y consideraremos este caso. Debe instalar NUT en todas las estaciones de trabajo con UPS.
Posibles problemas con esto:

  • > El controlador libusb se instala mejor por separado . Los incluidos no entienden todos los UPS;
  • Si libusb ofrece el nombre estándar HID UPS Battery , debe cambiarlo ; con un nombre estándar, algunos sistemas por alguna razón no ven UPS;
  • si el proceso de instalación muestra el mensaje " Controlador sin firma digital ", debe reinstalarlo manualmente ; de lo contrario, se bloquea;
  • si libusb no reconoció el modelo de UPS, entonces la primera vez que se instala el controlador ¡INCORRECTO! Esto se indica mediante el error "ACCESO DE ERROR upsmon NEGADO", o el controlador simplemente falla. Debe: detener el servicio NUT, eliminar el controlador libusb, esperar hasta que el "dispositivo de entrada USB" esté instalado, seleccionar manualmente el controlador libusb para él nuevamente;
  • Para NUT, necesita bibliotecas de terceros , que no están incluidas en el kit de instalación. El programa de instalación habla de esto, pero quién lo lee :) Además, a menudo los sistemas ya tienen software con estas bibliotecas. Definitivamente necesario: libeay32.dll, ssleay32.dll, libgcc_s_dw2-1.dll (que se encuentra en la carpeta NUT-bin), libusb.dll (que se encuentra en el kit de distribución de libusb), msvcr71.dll (incluido en Net Framework 1.1). Todos estos archivos deben estar en la carpeta Windows \ System32;
  • a veces necesita especificar bus = "bus-0" para UPS USB en ups.conf;
  • en máquinas rápidas y en algunas tarjetas de red, el servicio NUT se inicia antes que el controlador y / o la interfaz de red. En este caso, el tipo de inicio "Inicio (inicio retrasado)" conduce al error "ESTADO DE DATOS DE ERROR upsc". Solución: cree una tarea que verifique el proceso de upsd cuando aparezca un evento con el código 1 de la fuente Network UPS Tools y reinicie el servicio Network UPS Tools; descargue el archivo xml de la tarea; descargue el script (debe estar en la carpeta NUT \ others).

Un script de ejemplo para la instalación semiautomática de NUT en clientes:

N:\NUT-Installer-2.6.5-6.msi /qn copy N:\dll\ssleay32.dll C:\Windows\System32 /Y copy N:\dll\libeay32.dll C:\Windows\System32 /Y copy N:\dll\libgcc_s_dw2-1.dll C:\Windows\System32 /Y copy N:\dll\libusb.dll C:\Windows\System32 /Y copy N:\etc\* "%programfiles%\NUT\etc" rem  IP-    NUT  SET IP=192.168.100.10 set ip_address_string="IP Address" rem Uncomment the following line when using Windows 7 (with removing "rem")! set ip_address_string="IPv4-" REM echo Network Connection Test for /f "usebackq tokens=2 delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) do SET IP=%%f ECHO LISTEN %IP% 3493 >> "%programfiles%\NUT\etc\upsd.conf" rem   libusb  N:\libusb-win32-bin-1.2.6.0\bin\inf-wizard.exe rem  ,     notepad "%programfiles%\NUT\etc\ups.conf" notepad "%programfiles%\NUT\etc\upsmon.conf" pause net use N: /delete /Y 

Cómo entender por qué NUT no funciona en Windows:

  • comprobamos si hay nut.exe en los procesos
  • si es así, compruebe upsd.exe y upsmon.exe
  • si upsd no está en los procesos, ve a nut \ sbin y corre con tus manos:
  • "Upsd no se puede iniciar porque no hay dll" - verifique el dll en system32, reinicie por si acaso;
  • "Error de Upsd al crear una canalización con nombre" - upsd ya se está ejecutando
  • se inicia y se cierra inmediatamente: verifique la dirección IP en upsd.conf en la sección ESCUCHAR, especialmente si hay un DHCP en la máquina;
  • upsd comenzó, pero no ve UPS: instale o reinstale libusb, verifique libusb.dll en system32, cambie el nombre del dispositivo desde la batería UPS HID;
  • si upsd comenzó, vaya a bin y ejecute upsc our_ups @ localhost
  • "Upsc no se puede iniciar porque falta dll": verificamos las bibliotecas;
  • "Error desconocido de conexión Upsc fallida": compruebe si se están ejecutando upsd y upsmon, compruebe cuidadosamente la sección MONITOR en upsmon.conf, compruebe las bibliotecas dll nuevamente;
  • “Datos de error de Upsc obsoletos”: o el UPS se inició una vez y ya no funciona, luego reinstale el controlador libusb y cambie el nombre de la batería HID UPS, o el servicio NUT aumentó más rápido de lo que la interfaz de red o USB UPS era visible, reinicie el servicio;
  • "Acceso Upsmon error denegado" - reinstale el controlador como se describe anteriormente.

Para el servidor de monitoreo que necesita:

  • TUERCA en modo independiente;
  • cualquier servidor web con php y mysql. Estoy usando el servidor uniforme
  • Base de datos MySQL y carpeta www del repositorio, y un par de scripts por lotes desde allí.

Ponemos la base de datos SQL y www en los directorios correspondientes de la web norte. Las secuencias de comandos de batch_scripts se copian en la carpeta de instalación NUT. Iniciamos el servidor web, pasamos a localhost / index_ups.php . Agregue cualquier cliente UPS en el formato UPS_name @ host. Ejecute el script get_ups_list_mysql.cmd. Lo comprobamos Disfruta

imagen

¿Qué podemos ver útil más allá del estado actual? Por ejemplo:

  • si el voltaje mínimo de la batería es cercano a 10, es mejor reemplazarlo por adelantado;
  • a valores de voltaje normales, una falla del UPS probablemente estará asociada con una falla de la electrónica (la suya, K.O.);
  • una carga de más del 70 por ciento es indeseable, 100 no es normal si no está asociado con un evento de autocomprobación;
  • una carga mínima de la batería de menos del 30% indica un mal funcionamiento de la batería o una configuración incorrecta de apagado automático cuando se descarga en el cliente.

Algunos puntos:

  • las columnas se pueden ordenar haciendo clic en el encabezado;
  • los valores máximos / mínimos se muestran mediante una barra diagonal a la actual, los valores críticos se marcan en rojo;
  • tenga cuidado con el botón de "autocomprobación".

Si alguien tiene problemas para instalar / ejecutar NUT en Windows, escriba, lo resolveremos juntos.

Gracias por su atencion!

Source: https://habr.com/ru/post/es421039/


All Articles