Network UPS Tools

提供: ArchWiki
2018年6月30日 (土) 00:48時点におけるOotaharuki99 (トーク | 投稿記録)による版 (→‎upsmon の設定: 誤字の訂正)
ナビゲーションに移動 検索に移動

この記事では 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 の名前、upsduserpassword/etc/ups/upsd.user で設定したユーザーとパスワードに置き換えてください。

どんな警告をどこに送信するか、バッテリーが少なくなったときにどのようなアクションを行うかを設定できます。upsmon.conf(5) を見てください。

設定したら nut-monitor.service起動有効化してください。