Vine3.2 で APC の UPS APC CS 500 を監視する

UPSをAPCのCS 500に交換したので、せっかくだから状態を監視するようにApcupsdをインストールしてみました。

USBでの使用については、UPSとPCを付属のケーブルで接続したときに、

$ dmesg
・
・
・
hub.c: new USB device 00:1d.2-2, assigned address 2
hiddev0: USB HID v1.10 Device [American Power Conversion APC CS 500 FW:28.h11.A USB FW:h11] on usb3:2.0

となってればとりあえず、認識はしてくれてるようですな。

いざ、Apcupsdのインストール。

Apcupsd, a daemon for controlling APC UPSesからソースを取得。

$ wget http://downloads.sourceforge.net/apcupsd/apcupsd-3.13.12.tar.gz?modtime=1169920465&big_mirror=0
$ gtar xvzf apcupsd-3.13.12.tar.gz
$ cd apcupsd-3.13.12
$ ./configure --enable-cgi --enable-usb
$ make
$ sudo make install
$ sudo cp platforms/unknown/apcupsd /etc/rc.d/init.d/

コンパイルオプションとして、CGIプログラムの作成とUSB使用を指定。

インストール後は、/etc/apcupsd/apcupsd.confを編集。当該の項目を

DEVICE /dev/ttyS0
↓
UPSCABLE usb

UPSTYPE apcsmart
DEVICE /dev/ttyS0
↓
UPSTYPE usb
DEVICE

と書き換えて、/etc/rc.d/init.rd/apcupsd start でデーモンを開始。

UPSの状態についてはデーモン起動中に/sbin/apcaccess を実行すると、

# /sbin/apcaccess 
APC      : 001,043,1049
DATE     : Wed Feb 07 13:17:10 JST 2007
HOSTNAME : example.com
RELEASE  : 3.13.12
VERSION  : 3.13.12 (27 January 2007) unknown
UPSNAME  : example.com
CABLE    : USB Cable
MODEL    : APC CS 500 
UPSMODE  : Stand Alone
STARTTIME: Wed Feb 07 13:02:22 JST 2007
STATUS   : ONLINE 
LINEV    : 000.0 Volts
LOADPCT  :  19.0 Percent Load Capacity
BCHARGE  : 098.0 Percent
TIMELEFT :  51.5 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 100.0 Volts
SENSE    : Medium
DWAKE    : 000 Seconds
DSHUTD   : 000 Seconds
LOTRANS  : 000.0 Volts
HITRANS  : 000.0 Volts
RETPCT   : 000.0 Percent
ITEMP    : 29.2 C Internal
ALARMDEL : Always
BATTV    : 13.6 Volts
LINEFREQ : 50.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT  : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : QB0642140634  
BATTDATE : 2006-10-10
NOMOUTV  : 000
NOMINV   : 100
NOMBATTV :  12.0
FIRMWARE : 28.h11.A USB FW:h11
APCMODEL : APC CS 500 
END APC  : Wed Feb 07 13:17:15 JST 2007

ずらーっと表示されるのでそれで確認できます。

CGIでの監視

--enable-cgiオプションを付けてコンパイルすると、/etc/apcupsd 以下に*.cgiなファイルができるので、それをWeb公開ディレクトリの任意の場所にコピーしてアクセスすればWebブラウザから状態が確認できます。

参考サイト