Network UPS Tools
この記事では Network UPS Tools (NUT) をインストールする方法を説明します。Network UPS Tools は数千の UPS に対応しています。使用している UPS がサポートされているかどうかは ハードウェア対応リスト で確認できます。
インストール
network-ups-toolsAUR パッケージをインストールしてください。
設定
NUT には3つのデーモンが存在します:
- UPS と通信を行うドライバー。
- ドライバーを使用して UPS の状態を報告するサーバー (upsd)。
- upsd サーバーを監視して受信した情報に基づいて動作する監視デーモン (upsmon)。
UPS に複数のシステムを接続する場合、それぞれのシステムで upsmon サービスを実行することでネットワークを介して UPS の状態を受け渡して監視することができます。NUT には 設定に関する詳しいドキュメント が存在しますが、この記事では USB UPS とサーバーを使用してすべてひとつのシステムで監視する環境を扱います。
ドライバーの設定
使用する UPS によって設定は変わります。上のハードウェア対応リストを見て、UPS に適したドライバーがどれか確認してください。nut-scanner(8) ツールを実行することでシステムに接続されている NUT に対応したデバイスを検出することもできます。
USB で接続する UPS の多くは usbhid-ups(8) ドライバーを使用します:
/etc/ups/ups.conf
... [upsname] driver = usbhid-ups port = auto
UPS デバイスには好きな名前を付けてください。詳しくは ups.conf(5) を参照。
upsd の設定
デフォルトでは upsd はローカルホストにしか接続を開きません。/etc/ups/upsd.conf
を編集することで upsd のデフォルト設定を変更できます。詳しくは upsd.conf(5) を見てください。
サーバーに接続してコマンドを実行するには監視用のユーザーを追加する必要があります (upsd.users(5) を見てください):
/etc/ups/upsd.users
... [upsuser] password = password actions = SET instcmds = ALL
設定したら nut-server.service
を起動・有効化してください。nut-driver が自動で起動します。
起動できたら、upsc <upsname>
を実行して UPS から情報を取得できます。コマンドの出力例:
battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 20 battery.mfr.date: CPS battery.runtime: 5550 battery.runtime.low: 300 battery.type: PbAcid battery.voltage: 13.5 battery.voltage.nominal: 12 device.mfr: CPS device.model: UPS CP1000AVRLCD device.type: ups driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.data: CyberPower HID 0.4 driver.version.internal: 0.41 input.transfer.high: 140 input.transfer.low: 90 input.voltage: 122.0 input.voltage.nominal: 120 output.voltage: 122.0 ups.beeper.status: disabled ups.delay.shutdown: 20 ups.delay.start: 30 ups.load: 0 ups.mfr: CPS ups.model: UPS CP1000AVRLCD ups.productid: 0501 ups.realpower.nominal: 600 ups.status: OL ups.test.result: Done and passed ups.timer.shutdown: -60 ups.timer.start: 0 ups.vendorid: 0764
upsmon の設定
最初に upsmon を設定して upsd に接続してイベントが発生したときにアクションを実行します。
以下の行を /etc/ups/upsmon.conf
に追加:
MONITOR upsname@localhost 1 upsduser password master
upsname は UPS の名前、upsduser と password は /etc/ups/upsd.user
で設定したユーザーとパスワードに置き換えてください。
どんな警告をどこに送信するか、バッテリーが少なくなったときにどのようなアクションを行うかを設定できます。upsmon.conf(5) を見てください。