Linux下使用UPS电源与监控程序配置

superchen 发布于 2024-12-22 29 次阅读


自己的小服务器提供断电保护弄了台UPS,选择了施耐德BK650

把UPS电源与电脑连好,ups数据线连到服务器usb后,根据apcupsd的说明文档,我们首先使用lsusb命令检查Linux系统是否能检测到已连接的UPS

root@server:/home/chen# lsusb | grep Uninterruptible
Bus 001 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply

确认能够找到设备后,编辑apcupsd的配置E与UPSTYPE两项均设为usb

UPSCABLE usb
UPSTYPE usb

因为服务器与UPS电源之间是通过USB通讯的,所以需要注释掉配置文件中的串口设置部分:

DEVICE /dev/ttyS0

接下来,设置一下当外部失去电力转为UPS供电后,电池剩余多少电量时电脑自动执行脚本程序/etc/apcupsd/apccontrol。我这里的设置条件是“电池电量小于5%或仅够支持3分钟”

# When the battery level is <= 5%, shutdown the computer.
BATTERYLEVEL 5
# When the remaining power can only last 3 minutes, shutdown the computer.
MINUTES 3

在/etc/apcupsd/apccontrol中的doshutdown部分,我将原先的关闭系统指令替换为使系统进入睡眠状态。这样一来,等供电恢复后重新开机,则可以回到之前的工作状态

doshutdown)
echo "UPS {2} initiated Shutdown Sequence" |{WALL}
# /usr/local/bin/scripts/umount_disks.sh
# echo "Veracrypt disks have been umounted!"
# {SHUTDOWN} -h now "apcupsd UPS{2} initiated shutdown"
echo "System will enter into hibernation!"
systemctl hibernate
;;

如果你想要配置断电推送告警的话,可以在上面配置
我这里使用的是Bark推送到我的手机

doshutdown)
echo "UPS {2} initiated Shutdown Sequence" |{WALL}
# /usr/local/bin/scripts/umount_disks.sh
# echo "Veracrypt disks have been umounted!"
# {SHUTDOWN} -h now "apcupsd UPS{2} initiated shutdown"
echo "System will enter into hibernation!"
#推送到手机
curl https://api.day.app/RAaJyafhE9LqaM5qvkffcj/UPS告警:UPS电量不足,服务器进入休眠状态
systemctl hibernate
;;

至此,可以启动apcupsd系统服务了

systemctl enable apcupsd && systemctl start apcupsd

顺便设置了下开机自启动
们可以在命令行终端使用apcaccess命令来获得电源的运行状态。其中的主要参数为:

  • LINEV:线电压

  • LOADPCT:负载占比

  • TIMELEFT:电池剩余维持时间

  • LOTRANS:最低容许输入电压

  • HITRANS:最高容许输入电压

  • BATTV:电池输出电压

  • NOMPOWER:额定功率

root@server:/home/chen# apcaccess status
APC      : 001,034,0829
DATE     : 2024-12-22 10:44:39 +0800
HOSTNAME : server
VERSION  : 3.14.14 (31 May 2016) debian
UPSNAME  : server
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2024-12-22 10:22:26 +0800
MODEL    : Back-UPS 650
STATUS   : ONLINE
LINEV    : 222.0 Volts
LOADPCT  : 43.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 16.4 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Low
LOTRANS  : 165.0 Volts
HITRANS  : 266.0 Volts
ALARMDEL : 30 Seconds
BATTV    : 13.6 Volts
LASTXFER : Unacceptable line voltage changes
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
STATFLAG : 0x05000008
SERIALNO : 3B1711X28908
BATTDATE : 2017-03-21
NOMINV   : 220 Volts
NOMBATTV : 12.0 Volts
FIRMWARE : 822.A3.I USB FW:A3
END APC  : 2024-12-22 10:45:21 +0800
  • alipay_img
  • wechat_img
此作者没有提供个人介绍
最后更新于 2024-12-22