2008.02.12 Tue

apcupsdを常に起動させておくために

シェルスクリプトでプロセスが生きているのか確認し、確認できないときは自動で起動させるというスクリプト

このスクリプトを定期的にcronで実行させることで常にapcupsdが起動されることになります。

#!/bin/sh
isAlive=`ps -ef | grep apcupsd | grep -v grep | wc -l`
if [ $isAlive = 0 ]; then
/etc/rc.d/init.d/apcupsd start
fi

2007.11.27 Tue

APC Network Management CardにIPを設定する

APC Network Management CardにIPを設定する

APC Network Management Card を使うとUPSとの通信をネットワークで制御することが可能になります。

Network Management CardにIPを設定する方法としてWindowsから付属のAPC Network Management Card Utility Disc の中にあるソフトを使ってIPを設定します。

必要なもの

  • APC UPS の正規シリアルケーブル
  • 付属のAPC Network Management Card Utility Disc
  • Windows PC

設定手順

  • 1.UPS に Network Management Card を接続
  • 2.UPSとWindows PC をAPCの正規シリアルケーブルで接続
  • 3.APC Network Management Card Utility Disc の中のDeviceIPフォルダの中にある APC Device IP Configuration Wizard.exe をWindows PC にコピーする

APC Device IP Configuration Wizard.exe

APC Device IP Configuration Wizard 画面

  • 1. 次へ

  • 2. Loccaly(ローカルIPの設定)を選択する

  • 3. IP ネットマスク ゲートウェイを設定

  • 4. 設定完了

ウェブブラウザから管理画面へ

IPを設定するとブラウザで管理画面を表示することができます。

http://設定したIP/

デフォルトのid/pass

id : apc
pass : apc

IPが設定できたら各自環境に合わせて設定を行ってください。
設定例

2007.11.03 Sat

Smart-UPS 1000 について

Smart-UPS 1000 について Smart-UPS 1000 について

Smart-UPS 3000RM 2U 詳細

apcupsd を使ってShutdown 制御 (シリアルケーブル Centos5)

apcupsd インストール

# wget http://jaist.dl.sourceforge.net/sourceforge/apcupsd/apcupsd-3.12.3.tar.gz
# tar zvfx apcupsd-3.12.3.tar.gz
# cd apcupsd-3.12.3
# ./configure --enable-cgi --with-cgi-bin=/etc/apcupsd/cgi
# make
# make install



設定ファイルの編集

$ vi /etc/apcupsd/apcupsd.conf

  • シリアル接続の場合は設定を修正しなくても接続可能。



起動

# service apcupsd start



自動起動設定

# chmod 755 /etc/rc.d/init.d/apcupsd
# chkconfig --add apcupsd
# chkconfig --list apcupsd
apcupsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off



状態確認

apcaccess status

  • 正常に通信している場合は、「 STATUS : ONLINE 」 と表示されます。



動作テスト

  • UPSのコンセントを抜くと「 Warning power loss detected on UPS UPS名 」と表示
  • TIMEOUTで設定した秒数 以内に復旧したら「 Power failure on UPS名. Running on batteries. 」と表示
  • TIMEOUTで設定した時間でシャットダウンすることを確認する


ブラウザからUPSの状況を確認

  • apacheの設定ファイルに以下を記述

ScriptAlias /apcupsd/ /etc/apcupsd/cgi/
<Directory /etc/apcupsd/cgi/>
Options ExecCGI
#order deny,allow
#deny from all
#allow from 127.0.0.1
allow from all
</Directory>

  • http://アドレス/apcupsd/multimon.cgi にアクセスして状態を確認
  • ※ apcupsd が正常に起動できていない場合は 「 Not available: upsfetch: tcp_open failed for 127.0.0.1 port 3551 」というエラーが表示されます。

バッテリ交換について

2007.10.26 Fri

Smart-UPS 3000RM 2U について

Smart-UPS 3000RM 2U について Smart-UPS 3000RM 2U について

Smart-UPS 3000RM 2U 詳細

Network Management Card EM (ネットワーク対応オプション)

Network Management Card EMを使った場合とシリアルケーブルとの大きな違いは、UPS をネットワークへ接続することができます。

また、シリアルポートの場合は接続するポートを拡張しなければなりませんが、Network Management Card EMを使えば最大50台の機器をネットワーク制御することが可能になります。

apcupsd を使ってShutdown 制御 (ネットワーク Centos5)

net-snmp インストール

yum install net-snmp*



apcupsd インストール

# wget http://jaist.dl.sourceforge.net/sourceforge/apcupsd/apcupsd-3.12.3.tar.gz
# tar zvfx apcupsd-3.12.3.tar.gz
# cd apcupsd-3.12.3
# ./configure --enable-cgi --with-cgi-bin=/etc/apcupsd/cgi --enable-snmp
# make
# make install



設定ファイルの編集

$ vi /etc/apcupsd/apcupsd.conf

  • UPSCABLE ・・・ ネットワークなので ether を指定。
  • UPSTYPE ・・・ UPS のタイプは snmp を指定。
  • DEVICE ・・・ UPSのIPアドレス:ポート:MIB:コミュニティ名



設定例

UPSCABLE ether
UPSTYPE snmp
DEVICE 192.168.1.150:161:APC:public

USB・シリアルケーブルで接続する場合

必ず上記正規ケーブルを使うこと。違うケーブルを使うとUPSが落ちます。


管理画面よりクライアントの設定

  • 事前にUPS管理画面のAdministrationタブのSNMPv1=>Access Controlより接続クライアントの許可を設定する必要があります。
  • ※複数台クライアントを接続する場合は0.0.0.0のままで設定

Battery Management System サンプルデモ id : apc / pass : apc

起動

# service apcupsd start



自動起動設定

# chmod 755 /etc/rc.d/init.d/apcupsd
# chkconfig --add apcupsd
# chkconfig --list apcupsd
apcupsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off



状態確認

apcaccess status

  • 正常に通信している場合は、「 STATUS : ONLINE 」 と表示されます。



動作テスト

  • UPSのコンセントを抜くと「 Warning power loss detected on UPS UPS名 」と表示
  • TIMEOUTで設定した秒数 以内に復旧したら「 Power failure on UPS名. Running on batteries. 」と表示
  • TIMEOUTで設定した時間でシャットダウンすることを確認する


ブラウザからUPSの状況を確認

  • apacheの設定ファイルに以下を記述

ScriptAlias /apcupsd/ /etc/apcupsd/cgi/
<Directory /etc/apcupsd/cgi/>
Options ExecCGI
#order deny,allow
#deny from all
#allow from 127.0.0.1
allow from all
</Directory>

  • http://アドレス/apcupsd/multimon.cgi にアクセスして状態を確認
  • ※ apcupsd が正常に起動できていない場合は 「 Not available: upsfetch: tcp_open failed for 127.0.0.1 port 3551 」というエラーが表示されます。


設定中に起こったエラー

FATAL ERROR in apcaccess.c at line 252
tcp_open: cannot connect to server localhost on port 3551.
ERR=Connection refused

接続クライアントの許可を設定を行っていない場合は上記のようなエラーが表示され接続することが出来ませんでした。

起動時に自動でapcupsdが立ち上がらないので、
/etc/rc.local に
/etc/rc.d/init.d/apcupsd start を記述しました。

それでも正常に起動しない場合
シェルスクリプトでプロセスを監視し、起動していなければ起動させる

# vi apcupsd_cron.sh

#!/bin/sh
isAlive=`ps -ef | grep apcupsd | grep -v grep | wc -l`
if [ $isAlive = 0 ]; then
/etc/rc.d/init.d/apcupsd start
fi

# chmod +x apcups_cron.sh

# crontab -e
*/5 * * * * /設置したパス/apcupsd_cron.sh


apcupsd を使ってShutdown 制御 Windows Server 2003



C:\apcupsd\etc\apcupsd.conf で設定変更
C:\apcupsd\etc\apcupsd.event でイベントログの確認

SNMPを使って通信する場合
サービスで起動させる場合、SNMPより前にサービスが起動しようとして起動できないので、タスクスケジュールの起動時に apcupsd が起動するように設定する

PowerChute Network Shutdown Standard Shutdown 制御


設定を参考にさせていただいたサイト

システム構築に関する覚書トップページへ