ℹ️本記事は古いコンテンツを変換して表示しています。
表示が崩れたり、リンクが正しくない可能性があります。ご了承ください。
ℹ️本記事は古いコンテンツを変換して表示しています。
表示が崩れたり、リンクが正しくない可能性があります。ご了承ください。
2024/04/14 20:04 : FreeBSDでOMRON UPSを監視する
OMRONのUPSを使っているが、長年監視を放置していた。いい加減監視したいと思って設定したので、記録を残しておく。まず、OpenBSD/NetBSDな人は以下を参照のこと。
オムロン製UPSをOpenBSD/NetBSDで使うためのメモ (GitHub Gist)
本記事は上記を参考に、FreeBSD 14.0向けに設定してみた記録になる。
やることは以下。
諸事情あってproduct IDはすべて伏せている。参考にして設定する奇特な人は、XXXXのような部分は適宜読み替えてほしい。
pkgでいっぱつ。
# pkg install nut
UPS関係だから名前にUPSが入ってるだろうと思って pkg search ups
しても出てこない。nutという名前は覚えて帰ろう。
なんでもいいので調べる。ここでは dmesg
で ugenX.X
を調べたあと、usbconfig
の dump_device_desc
を使って調べた。
# usbconfig -d ugenX.X dump_device_desc ugen0.3:at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA) (...snip...) idVendor = 0x0590 idProduct = 0xXXXX
nutはnut
ユーザで動作するので、通常 root:wheel
な /dev/ugenX.X
(の指す /dev/usb/X.X
) を触れない。devd
を設定して、OMRON UPSだったらnutユーザにプレゼントしよう。設定後は service devd restart
をお忘れなく。
/usr/local/etc/devd/nut-usb-omron.conf:
notify 100 { match "system" "USB"; match "subsystem" "INTERFACE"; match "type" "ATTACH"; match "vendor" "0x0590"; match "product" "0xXXXX"; action "chgrp nut /dev/$cdev; chmod g+rw /dev/$cdev"; };
/usr/local/etc/devd/nut-usb.conf
を参考に書いたが、subsystemはDEVICEではなくINTERFACEになるようだ。うまくいかないなら devd -d
を実行して確認するといい。
こんな感じ。driverは参考資料では blazer_usb
だが、maintenance-onlyだよ、というので nutdrv_qx
に変えた。
/usr/local/etc/nut/ups.conf
:
[XXXXX] driver = nutdrv_qx port = auto desc = "OMRON XXXXX" vendorid = 0590 productid = XXXX subdriver = ippon
通信テストは、以下のようにしてドライバを直接実行すればいい。read: (...
のような出力が定期的に出ればOK。
# /usr/local/libexec/nut/nutdrv_qx -DDDD -a XXXXX
あとはUPSがどうなったらどうしたい、の話になるので、man nut.conf
でも実行してnutと仲良くなるといい。
私はドライバ出力を食ってprometheusに出力したかっただけなので、nut自体は使っていない。