====== Configure CyberPower UPS Monitoring on Linux ======
http://www.cyberpowersystems.com
===== PowerPanel Business 4 Linux =====
**Download**: https://www.cyberpowersystems.com/product/software/power-panel-business/powerpanel-business-4-7-0-linux/
**Manual**: https://dl4jz3rbrsfum.cloudfront.net/documents/CyberPower-UM-PPB-447.pdf
==== Installation ====
:!: Tested with XCP-ng 8.2 and a CyberPower CPS1500AVR UPS.
:!: Connect the included USB or serial cable to UPS.
:!: We use the **Local** version for single servers with USB or serial cable connected UPSs.
wget https://dl4jz3rbrsfum.cloudfront.net/software/ppb490-linux-x86_x64.sh
chmod +x ppb470-linux-x86_x64.sh
./ppb470-linux-x86_x64.sh
Check that services started:
systemctl status ppbed.service
systemctl status ppbwd.service
==== Access ====
Default credentials:
^Username ^Password ^
|admin |admin |
Use a web browser from a workstation:
**http://ip.of.linux.svr:3052**
==== Configuration ====
We don't want the server to shut down immediately upon power failure...we want to wait until the battery gets low before we actually run the shutdown command.
Edit the PowerPanel configuration file:
vi /etc/pwrstatd.conf
And change:
powerfail-shutdown = no #we want to shut down the UPS when the battery gets low, not when the power fails
shutdown-sustain = 200 #set this to a little longer than it takes to shut your server down
lowbatt-threshold = 15 #don't run the battery completely dead
Restart the service:
/etc/init.d/pwrstatd restart
or
service pwrstatd restart
Commands that run upon power-fail and low-battery events are also specified in the /etc/pwrstatd.conf configuration file. By default, it specifies:
/etc/pwrstatd-powerfail.sh
and
/etc/pwrstatd-lowbatt.sh
===== Testing =====
You may want to change the lowbatt-threshold to ''90'' so the box shuts down in the shortest time, then change it back when finished testing.
lowbatt-threshold = 90
service pwrstatd restart
tail -f /var/log/pwrstatd.log
===== XenServer =====
:!: These settings are probably not ideal, but are a good start. I think the goal would be to confirm that all VMs are shut nown properly before issuing the shutdown command.
Modifications to above for XenServer:
vi /etc/pwrstatd.conf
And change:
powerfail-shutdown = no #we want to shut down the UPS when the battery gets low, not when the power fails
shutdown-sustain = 600 #set this to a little longer than it takes to shut down all VMs and your server
lowbatt-threshold = 35 #don't run the battery completely dead and give time to shut down
lowbatt-duration = 60 #allow the script to run for 60 seconds before the shutdown
vi /etc/pwrstatd-lowbatt.sh
and append:
xe vm-shutdown power-state=running --multiple