在Linux读取并且监控APC UPS的状态
我买了一台APC 無停電電源装置 UPS 常時商用給電 550VA/330W BE550M1-JP 矩形波 家庭用。
这么几年我一直都是靠一台Windows上的软件监控的,但是这种每次都要通过眼睛去看的方案并不是特别方便。而且也没有办法查看历史数据。 今天搜索了一下,其实是有linux的方案的。特别在此记录一下 。
APC UPS 连接
我的UPS是通过USB和电脑进行连接的,接好线缆以后执行下面的指令可以看到设备:
$lsusb | grep "American Power"
Bus 002 Device 009: ID 051d:0002 American Power Conversion Uninterruptible Power Supply就说明有希望。
安装相应的软件:
sudo apt update
sudo apt install apcupsd修改配置文件 /etc/apcupsd/apcupsd.conf
确保UPSCABLE是usb,UPSTYPE是usb,DEVICE留空(但是不要注释),类似这种感觉:
UPSCABLE usb
UPSTYPE usb
DEVICE修改配置文件:/etc/default/apcupsd 为
ISCONFIGURED=yes启动服务,设置自启动:
这个时候执行 apcaccess status 就可以看到UPS的状态了。
类似下面这样:
Prometheus监控
我让AI给我推荐了几个方案,比如 mdlayher/apcupsd_exporter ,不过我最后选择了 56quarters/apcmetrics 。
Clone到本地,进入项目文件夹,然后直接 make build,注意,你得先把make和go装上,我很少在服务器上Build软件所以居然都没有装。
然后把Build出来的产物送到bin目录下:sudo mv apcmetrics /usr/local/bin/
按照教程复制Service并且启动就好了。
完后可以用curl确认一下是不是已经启动了:curl http://127.0.0.1:9780/metrics
在Prometheus里面增加监控项:
重启或者Reload即可。
Grafana Dashboard
没找到Dashboard,自己动手撸了一个 很粗糙的版本,以后慢慢优化了。

json配置文件放在这里了,需要的自取。
有些麻烦但是想做的事情
NAS断电的重启恢复会有些困难,如果能够时刻监控剩余使用时长,在断电前执行关机操作会非常好。
重新来电以后树莓派会自动启动 ,这个时候如果能够通过网络自动启动服务器那就更好了。
吐槽
我买UPS才花18000日元,换电池居然也要15000日元,这何尝不是一种计划报废呢?
最后更新于