UPSの導入

最近は停電することがほとんどありませんが、温暖化の影響からか落雷が多く、瞬断やノイズによる影響が懸念されます。普段はあまり必要ない機器ですが、いざというときにあると便利な機器でもあります。(最近は電源ラインだけではなく、電話線やアンテナ線からの電気ノイズから終端機器を守る機能を持っているものもあります) ここでは、信頼と実績の高いAPCのES 500を例に話を進めます。
管理ソフトをインストールする
UPSのハード的な接続が完了したら管理用のソフトをインストールします。現在市販されているUPSはWindows用の管理ソフトが添付されているもののUnix用の管理ソフトは添付されていません。しかし、apcupsdというフリーのソフトが存在するので、これをインストールします。このapcupsdはパッケージに入っています。
# pkg_add apcupsd-3.14.2.tbz
インストールが正常終了すると以下のディレクトリに実行ファイルと環境設定ファイルが作成されます。

実行ファイル
/usr/local/sbin/apcupsd

設定ファイル
/usr/local/etc/apcupsd
設定ファイルを修正する
UPSを接続した環境に応じて設定ファイルを修正します。
# cd /usr/local/etc/apcupsd
# cp apcupsd.conf.sample apcupsd.conf
# vi apcupsd.conf
#UPSNAME
UPSNAME APC ES500
#UPSCABLE smart
UPSCABLE usb
#UPSTYPE apcsmart
#DEVICE /dev/usv
UPSTYPE usb
DEVICE
#UPSCLASS netmaster
UPSCLASS standalone
#UPSMODE net
UPSMODE disable
上の例では変更点のみ抜き出しています。上記の設定では、「STATFILE /var/log/apcupsd.status」がデフォルトのままなので、「/var/log/apcupsd.status」に状態が出力されます。syslogなどに書き出す場合には、「LOGSTATS on DATATIME」に出力する間隔を指定します。また、デフォルトでは「BATTERYLEVEL 5」となっているので、バッテリーが「5%」を切ったらshutdownが発行されます。
シャットダウン コマンドを変更する
ハードウェアーがAPMに対応していて「rc.conf」で「apm_enable="YES"」を指定している場合には、シャットダウンで電源を落とすことが出来ます。そのような場合には「apccontrol」のシャットダウンコマンドを修正しておくとバッテリーが指定量を切ったときに自動で電源を落とすことが出来ます。
# cd /usr/local/etc/apcupsd
# vi apccontrol

${SHUTDOWN} -h now "apcupsd initiated shutdown"
   ↓
${SHUTDOWN} -p now "apcupsd initiated shutdown"
APCUPSDの制御
起動や終了などの制御は「/usr/local/etc/rc.d/apcupsd/apcaccess」にシェルが作成されているので「apcaccess」にパラメータを与えて行います。

/usr/local/etc/rc.d/apcupsd start・・・起動

/usr/local/etc/rc.d/apcupsd stop・・・停止

/usr/local/etc/rc.d/apcupsd restart・・・再起動

/usr/local/etc/rc.d/apcupsd status・・・状態表示
WEBからUPSを監視可能にする
「apcupsd」をインストールすると、「/usr/local/etc/apcupsd/cgi」にWEBから監視するためのプログラムもインストールされます。このCGIを実行できるようにするために、Apache側の設定を少し変更します。Apacheの設定ファイルが格納されているディレクトリ(/usr/local/etc/apache)に「access.conf」と言うファイルが作られているので、これを以下のように修正します。
# cd /usr/local/etc/apache
# vi access.conf
ScriptAlias /apcupsd/ /usr/local/etc/apcupsd/
<Directory /usr/local/etc/apcupsd/>

DirectoryIndex upsstats.cgi

Options ExecCGI

order deny,allow

deny from all

allow from 127.0.0.1 192.168.0.
</Directory>
これで、インターネットエクスプローラなどのブラウザで「http://サーバーのアドレス/apcupsd/multimon.cgi」にアクセスすると、監視画面を表示させることが出来ます。
Windowsマシンも一緒に制御する
家では、インターネット用のサーバーと共に、ファイルサーバーとビデオサーバーが一緒に置かれているため、それらもAPCUPSDの管理下に置いています。Windows用のAPCUPSDもフリー版がありますので、apcupsd.comからダウンロードしてきて、管理したいWindowsマシンにインストールします。ここでは、「C:\Program Files\APC\Apcupsd\」にインストールしたとして話を進めます。
ソフトのインストールが完了すると「C:\Program Files\APC\Apcupsd\etc\apcupsd」に「apcupsd.conf」が作成されます。これを以下のように修正します。
# UPSNAME xxx
UPSNAME APC ES500
# UPSCABLE
UPSCABLE ether
#UPSTYPE
UPSTYPE net
DEVICE マスターのアドレス:3551
上の例では変更点のみ抜き出しています。これで、管理マスターがシャットダウンされるときに一緒にシャットダウンされます。なお、Windows用のapcupsdはサービスとして起動されるので、ログオンしていない状態でも監視を続けているため、ログオフ状態でもシャットダウンは問題なく行われます。