今回は、UPSのモニターを行うNUT(Network UPS Tools)をセットアップする記事です。
Web上で電源の状態を確認できるほか、UPSのバッテリーが不足(電源喪失)した時にはシャットダウンコマンドを発行します。
[環境]
Raspberry Pi 2B(ラズパイ)、OSはRaspbian jessieです。以下設定の内容はjessie版での記述で、他のディストリビューションやバージョンでは設定が異なる場合があるので注意してください。
ラズパイは、Webサーバーとして稼働中でルーターと接続している以外のモニタ類は接続していません。通常は別のPCからリモートでモニタリングしているのでUPSもNUTインストールしてモニタリングしようというわけです。
[ドライバーセットアップ]
UPSとラズパイをUSBケーブルで接続し、lsusbコマンドで確認します。
CP1500AVR UPSとして認識されています。
Bus 001 Device 004: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
次に、NUTをインストールし、その後で一連のファイルを設定します。
sudo apt-get update
sudo apt-get install nut nut-client nut-server
ここでは、NUTのドライバーテータベースから CP1500PFCLCD が標準で設定されるので続けます。
/etc/nut/ups.conf の最終行に追加します。cyberups の名前は好きに変えてください。
desc はups機器の説明を書きます。 (2018-3-24修正)
[cyberups]
driver = usbhid-ups
port = auto
desc = "CyberPower CPJ500"
pollinterval = 15
次に、ドライバサービスをスタートします。その後、ステータスを確認し active や Startup 出来ているかを見ます。
sudo systemctl start nut-driver
sudo systemctl status nut-driver
● nut-driver.service - Network UPS Tools - power device driver controller
Loaded: loaded (/lib/systemd/system/nut-driver.service; static)
Active: active (running) since 木 2018-03-15 07:40:59 JST; 14h ago
・・・省略・・・
3月 15 07:40:57 raspi1 upsdrvctl[9641]: Using subdriver: CyberPower HID 0.3
3月 15 07:40:57 raspi1 upsdrvctl[9641]: Network UPS Tools - Generic HID driver 0.38 (2.7.2)
3月 15 07:40:57 raspi1 upsdrvctl[9641]: USB communication driver 0.32
3月 15 07:40:59 raspi1 usbhid-ups[9643]: Startup successful
3月 15 07:40:59 raspi1 upsdrvctl[9641]: Network UPS Tools - UPS driver controller 2.7.2
3月 15 07:40:59 raspi1 systemd[1]: Started Network UPS Tools - power device driver controller.
[サーバーセットアップ]
まず、 /etc/nut/upsd.conf の中で localhost の LISTEN が # でコメントアウトされているので、# を取り除きます。ポートの3493のそのままです。
LISTEN 127.0.0.1 3493
同じファイルの中で MAXAGE を変更します。
MAXAGE = 25
次に、アカウントを設定します。 /etc/nut/upsd.users の最下行に下の内容を追記します。
ここでは、adminとmasterのユーザーを設定しています。
[admin]
password = admin123
actions = SET
instcmds = ALL
[upsmon_local]
password = local123
upsmon master
次に、サーバーの動作モードを設定します。UPSでバックアップされるPCは1台なので standalone を /etc/nut/nut.conf にセットします。
MODE=standalone
サーバーサービスをスタートし、そしてステータスを確認します。
sudo systemctl start nut-server
sudo systemctl status nut-server
では localhost から接続できるかテストしてみましょう。 cyberups とはドライバーセットアップで設定した名前です。
sudo upsc cyberups@localhost
Init SSL without certificate databaseUPSからの情報がちゃんと取れていて、device.model: CPJ500 と製品が認識されています。
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 20
battery.mfr.date: CPS
battery.runtime: 10200
battery.runtime.low: 300
battery.type: PbAcid
battery.voltage: 9.1
battery.voltage.nominal: 12
device.mfr: CPS
device.model: CPJ500
device.type: ups
driver.name: usbhid-ups
・・・省略・・・
[クライアントセットアップ]
システムをモニタする mastert ユーザーを /etc/nut/upsmon.conf へ追加します。
MONITOR cyberups@localhost 1 upsmon_local local123 master
同じファイルの中で DEADTIME を変更します。DEADTIME = 25
idやパスワードを記録しているので、他から見られないようにパーミッションを設定します。
sudo chown root:nut /etc/nut/*
sudo chmod 640 /etc/nut/*
クライアントをスタートして、ステータスを確認します。
sudo systemctl start nut-monitor
sudo systemctl status nut-monitor
もう一度、localhost から情報が取れるかテストします。
sudo upsc cyberups@localhost
以上で、NUTシステムが構成されました。
このままでもいいのですが、次はWebでモニタリングする設定をしてみます。
長くなったので次の記事にします。
次の記事は予定変更して、この記事の補足を書きました。
(参考にした記事)
Network UPS Tools
Raspberry Pi UPS monitor (with Nginx web monitoring)
UPS Server on Raspberry Pi
NUT & CyberPower UPS
end.
0 件のコメント:
コメントを投稿