Marcio Cunha

¿Corte de luz en el homelab? Cómo integrar SAI por SNMP en Linux

Aprenda a monitorear su SAI o nobreak mediante SNMP en Linux y automatice el apagado seguro de sus servidores caseros antes de que la batería se agote.

Marcio Cunha•5 min
También disponible en:PortuguêsEnglish
Resumen
  • El protocolo SNMP permite que los dispositivos de energía comuniquen el estado de la batería en la red local sin cables seriales
  • Herramientas como NUT gestionan eventos críticos de energía y activan comandos de apagado remoto en los servidores
  • Configurar activadores de batería baja previene la corrupción de datos en sistemas de archivos y daños al hardware
  • Realizar simulaciones de fallas eléctricas garantiza que la automatización responda correctamente ante un apagón real
  • Mantener el enrutador y el switch principales en la misma línea de energía evita la pérdida de señal durante el monitoreo

Por qué monitorear el SAI por red en su homelab

Quien mantiene un servidor casero o un homelab sabe que la energía eléctrica de la red comercial no siempre es confiable. Las caídas repentinas y las fluctuaciones de voltaje pueden corromper bases de datos, dañar particiones ZFS y quemar fuentes de alimentación sensibles. Para mitigar este riesgo, utilizar un sistema de alimentación ininterrumpida, conocido como SAI o UPS (un sistema de batería que mantiene los equipos encendidos durante picos o cortes de luz), es fundamental. En la práctica, esto significa que sus servidores ganan unos minutos de sobrevida para cerrar sus actividades de forma ordenada en lugar de sufrir un corte abrupto.

Sin embargo, simplemente conectar los servidores a los tomacorrientes de la batería no resuelve todo. Si el corte de energía dura más que la autonomía de las baterías, el SAI eventualmente se apagará por falta de carga, cortando la electricidad de golpe. Para evitar esto, necesitamos un puente de comunicación entre el hardware de energía y los sistemas operativos de los servidores. Aquí es donde entra el SNMP (Simple Network Management Protocol, un protocolo estándar de internet utilizado para recopilar y organizar información sobre dispositivos en redes IP), permitiendo que el SAI envíe alertas críticas de nivel de batería directamente a Linux. Para construir una infraestructura robusta, también es clave planificar la resiliencia de la red, un concepto similar al que abordamos sobre cómo garantizar consistencia en arquitecturas orientada a eventos al lidiar con fallas distribuidas.

El papel del protocolo SNMP y Network UPS Tools

El SNMP actúa como un mensajero universal en la red local. El SAI cuenta con una tarjeta de red o software gestor que expone métricas vitales —como carga de batería, voltaje de entrada y tiempo restante— en un formato de base de datos conocido como MIB (Management Information Base, un diccionario que estandariza el nombre y significado de cada dato del dispositivo). Su servidor Linux puede consultar estos datos periódicamente o recibir alertas inmediatas cuando ocurre un evento adverso en la red eléctrica.

Para traducir estas alertas en acciones prácticas dentro del sistema operativo, la herramienta estándar de la industria en el mundo de código abierto es NUT (Network UPS Tools). NUT se divide en tres capas principales: el controlador que dialoga directamente con el puerto USB, serial o tarjeta SNMP del SAI; el servidor que centraliza esta información; y los clientes que monitorean el estado y ejecutan scripts de seguridad. Cuando NUT detecta que la batería ha alcanzado un umbral crítico, inicia una rutina automatizada de apagado ordenado, cerrando contenedores Docker, desmontando volúmenes y deteniendo servicios de forma segura.

Cómo instalar y configurar NUT para monitoreo SNMP

Para poner esta automatización en práctica en Linux, el primer paso es instalar el paquete de Network UPS Tools en su distribución de preferencia, como Debian o Ubuntu. Abra la terminal con privilegios administrativos y ejecute los siguientes comandos para preparar el entorno:

sudo apt update
sudo apt install nut nut-server nut-client

Con los binarios instalados, el siguiente paso es configurar el archivo del controlador para que NUT sepa comunicarse con su SAI mediante SNMP. Edite el archivo de configuración de controladores ubicado en /etc/nut/ups.conf y agregue la sección que define la conexión con la dirección IP de la tarjeta SNMP de su SAI.

[misai]
driver = snmp-ups
port = 192.168.1.50
community = public
pollinterval = 10

En la práctica, esta configuración instruye al controlador snmp-ups a consultar la dirección IP 192.168.1.50 cada diez segundos utilizando la comunidad SNMP predeterminada. A continuación, configure el archivo upsd.users para definir credenciales de acceso seguras y el archivo nut.conf para establecer el modo de operación del servicio como independiente o sincronizado con la red.

Configurando el apagado automático y probando el sistema

La etapa final de la configuración involucra el archivo upsmon.conf, donde determinamos el comportamiento del cliente de monitoreo. Aquí es donde definimos si el servidor debe simplemente advertir a los usuarios o ejecutar un comando de apagado definitivo cuando se agote la energía. Para asegurar que el proceso ocurra sin intervención humana, especificamos directrices de acción basadas en el estado de la batería.

Dentro de upsmon.conf, agregue la directiva que monitorea el SAI configurado previamente, especificando el tipo de privilegio de acceso y el script de ejecución. El formato típico para el monitoreo local sigue la estructura a continuación:

MONITOR misai@localhost 1 admin password_segura master
SHUTDOWNCMD "/sbin/shutdown -h now"

Después de ajustar todos los parámetros y reiniciar los servicios de NUT con el comando sudo systemctl restart nut-server, su sistema estará listo para proteger su homelab. Se recomienda realizar una prueba práctica desconectando el cable de alimentación del SAI del tomacorriente de la pared por unos instantes (si su carga lo permite) para verificar que los registros del sistema guarden el evento y que el activador de apagado responda según lo esperado, garantizando la integridad de sus datos y la durabilidad de sus discos.

Consideraciones finales sobre resiliencia en homelabs

Integrar un SAI mediante SNMP en Linux transforma un simple sistema de respaldo por batería en un componente activo e inteligente de su infraestructura doméstica. Al automatizar el apagado seguro, usted elimina el factor sorpresa de los cortes de energía y protege sus inversiones en hardware y almacenamiento contra picos de voltaje destructivos. Mantener un control automatizado de la energía es tan crucial para la salud del entorno como elegir herramientas adecuadas de despliegue y automatización, donde la previsibilidad evita dolores de cabeza futuros.