Basal Synthesis GmbH Apcupsd
Apcupsd
En OPNsense, Apcupsd proporciona capacidades esenciales de gestión de UPS (Fuente de Alimentación Ininterrumpida), especialmente para dispositivos UPS de APC. Esta integración asegura que durante los cortes de energía, el sistema pueda gestionar la energía de manera eficiente, activando procedimientos de apagado seguro para proteger la integridad de los datos y prevenir daños en el hardware. Al monitorear continuamente el estado de la UPS, Apcupsd mejora la fiabilidad y resiliencia de la infraestructura de red, convirtiendo a OPNsense en una solución más robusta para entornos donde la estabilidad de energía es crítica.
Configuraciones
- Instalar el plugin Apcupsd en OPNsense
- Conectar el hardware UPS con el hardware de OPNsense mediante un cable USB. El plugin detecta esta conexión automáticamente.
- Ajustar la configuración en la interfaz de usuario:
- Definir el código en la ruta /usr/local/etc/apcupsd/offbattery
#!/bin/sh
# Find the shessl script under /etc/apcupsd
# /etc/apcupsd/apccontrol calls the script if
# the UPS falls back to main after energy failure.
# An e-mail message will be sent to root.
echo "$(date) - offbattery script started" >> /var/log/apcupsd_eventscripts.log
HOSTNAME="APC Back-UPS"
MSG="$HOSTNAME UPS $1 Power has returned"
(
echo "Subject: $MSG"
echo " "
echo "$MSG"
echo " "
/usr/local/sbin/apcaccess status
) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
# Wake up the hardware, which is necessary.
wake igb0 macaddress
if [ $? -eq 0 ]; then
echo "Magic packet sent successfully" >> /var/log/apcupsd_eventscripts.log
else
echo "Failed to send magic packet" >> /var/log/apcupsd_eventscripts.log
fi
# Wait for a minute to allow the server to wake up
sleep 60
- Definir el código en la ruta /usr/local/etc/apcupsd/onbattery
#!/bin/sh
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol when the UPS
# goes on batteries.
# We send an email message to root to notify him.
# This script send a command to run a shutDown script on a server to make a secure shutdown.
echo "$(date) - onbattery script started" >> /var/log/apcupsd_eventscripts.log
HOSTNAME=`hostname`
MSG="$HOSTNAME UPS $1 Power Failure !!!"
(
echo "Subject: $MSG"
echo " "
echo "$MSG"
echo " "
/usr/local/sbin/apcaccess status
) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
if ssh -o BatchMode=yes user@server.example.com "sudo /path/to/script/script.sh" >> /var/log/apcupsd_eventscripts.log 2>&1; then
echo "$(date) - The /path/to/script/script.sh on server executed successfully" >> /var/log/apcupsd_eventscripts.log
else
echo "$(date) - The /path/to/script/script.sh on server executed failed" >> /var/log/apcupsd_eventscripts.log
fi
echo "$(date) - onbattery script finished" >> /var/log/apcupsd_eventscripts.log
exit 0
Estado
Mira el estado, si todas las configuraciones son correctas, debería verse así:
Dashboard
El Panel de Control ha agregado automáticamente un widget para apcupsd. Debería verse así:
Registros
El apcupsd también tiene registros: