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:

OpnsenseApcupsdSettings.png

  • 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í:

OpnsenseApcupsdStatus.png



Dashboard


El Panel de Control ha agregado automáticamente un widget para apcupsd. Debería verse así:

OpnsenseApcupsdDashboardWidget.png



Registros

El apcupsd también tiene registros:

OpnsenseApcupsdLogfile.png

Chat Apcupsd Opnsense


Comment Apcupsd Opnsense





Información Legal Fuentes Protección de Datos Copyright © 2018 - 2025   Basal Synthesis