====== 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