在Linux读取并且监控APC UPS的状态

我买了一台APC 無停電電源装置 UPS 常時商用給電 550VA/330W BE550M1-JP 矩形波 家庭用arrow-up-right

这么几年我一直都是靠一台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_exporterarrow-up-right ,不过我最后选择了 56quarters/apcmetrics arrow-up-right

Clone到本地,进入项目文件夹,然后直接 make build,注意,你得先把make和goarrow-up-right装上,我很少在服务器上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配置文件放在这里了arrow-up-right,需要的自取。

有些麻烦但是想做的事情

  • NAS断电的重启恢复会有些困难,如果能够时刻监控剩余使用时长,在断电前执行关机操作会非常好。

  • 重新来电以后树莓派会自动启动 ,这个时候如果能够通过网络自动启动服务器那就更好了。

吐槽

我买UPS才花18000日元,换电池arrow-up-right居然也要15000日元,这何尝不是一种计划报废呢?

最后更新于