LinuxのUPS(無停電監視装置)用daemon「apcupsd」のインストール

配布元
Apcupsd, a daemon for controlling APC UPSeshttp://www.apcupsd.org/




インストール

RedHat用のrpmパッケージだと何故か上手くいかなくて、src.rpmパッケージからのRebuildも失敗するのでsource(tar.gz)からmakeすることにする

2006-09-12 現在 最新Stableは 3.12.4
[shell gutter=”false”]
$ tar zxvf apcupsd-3.12.4.tar.gz
$ cd apcupsd-3.12.4
[/shell]
インストーラがVineLinuxを認識してくれないので、RedHatとして誤魔化す
[shell gutter=”false”]
$ su
# echo ‘Red Hat Linux release 8.0 (Psyche)’ > /etc/redhat-release
[/shell]
(RedHat8でいいんだろうか?まぁヨシとしよう)
CGIによる状態監視、ネットワークによるUPS共有なども入れてmake
[shell gutter=”false”]
$ ./configure \
–enable-cgi \
–with-cgi-bin=/var/www/cgi-bin/apcups \
–enable-net \
–enable-master-slave
[/shell]
configureの最後に出てくるメッセージを確認
[text highlight_lines=”2,16,23,24,27,28″]
Configuration on Tue Sep 12 22:40:11 JST 2006:
Host: i686-pc-linux-gnu — redhat 8.0
Apcupsd version: 3.12.4 (19 August 2006)
Source code location: .
Install binaries: /sbin
Install config files: /etc/apcupsd
Install man files: /usr/share/man
Nologin file in: /etc
PID directory: /var/run
LOG dir (events, status) /var/log
LOCK dir (for serial port) /var/lock
Power Fail dir /etc/apcupsd
Compiler: /usr/bin/g++ 3.3.2
Compiler flags: -g -O2 -Wall
Linker flags: -g -O
Host and version: redhat 8.0
Shutdown Program: /usr/bin/shutdown
Port/Device: /dev/ttyS0
Network Info Port (CGI): 3551
Master/slave Port: 6666
UPSTYPE apcsmart
UPSCABLE smart
drivers (no-* are disabled): apcsmart dumb net no-usb no-snmp no-test
enable-master-slave: yes
enable-nis: yes
with-nisip: 0.0.0.0
enable-cgi: yes
with-cgi-bin: /var/www/cgi-bin/apcups
with-libwrap:
enable-nls: no
enable-libintl: no
enable-powerflute: no
enable-pthreads: yes
enable-dist-install: yes
[/text]
間違いがなければmakeしてインストール
[shell gutter=”false”]
$ make
$ su
# make install
[/shell]

主要コマンドは/sbinに、設定ファイルは/etc/apcupsd、起動スクリプトは/etc/init.dに入っている

設定

/etc/apcupsd/apcupsd.confを書き換える
今回は1台のUPSに3台のサーバを繋ぎ、LANで状態を共有する

共通部分

[text]
UPSTYPE apcsmart
DEVICE /dev/ttyS0
ONBATTERYDELAY 6 (電源が切れてから以下の状態監視を始めるまでの時間差)
BATTERYLEVEL 15 (バッテリー残が15%以下になったら終了処理開始)
MINUTES 5 (バッテリー残予想5分以下になったら終了処理開始)
TIMEOUT 180 (電源が切れて180秒後に終了処理開始)
NETTIME 30 (Master/Slave間の通信間隔)
UPSMODE net
NETACCESS true
NETPORT 6666
[/text]

Master側(UPSとシリアルケーブルで接続)

[text]
UPSCLASS netmaster
SLAVE 192.168.0.3 (SlaveのIP)
SLAVE 192.168.0.4
[/text]

Slave(LANでUPS状態を共有監視)

[text]
UPSCLASS netslave
MASTER 192.168.0.2 (MasterのIP)
USERMAGIC Slave1 (Slaveの識別子、Slaveごとにuniqueな名前をつける)
[/text]

起動と状態監視

/etc/init.d以下に起動スクリプトが入っている
[shell gutter=”false”]# /etc/init.d/apcupsd start[/shell]
http://localhost/cgi-bin/apcups/multimon.cgi でUPSの状態を見ることができる
MasterからSlaveの状態も見られるように/etc/apcupsd/hosts.confを書き換える
[text]
MONITOR 127.0.0.1 “UPS Master”
MONITOR 192.168.0.3 “Slave1”
MONITOR 192.168.0.4 “Slave2”
[/text]

テスト

UPSのコンセントを抜いてみる :p

参考



関連しそうなentry