munin-node-win32 で speedfan の値をグラフ化
munin-node-win32 の speedfan プラグインがエラーを吐いて
サーバ側で値を取得出来ずに居たが、解決したのでここに記す。
OS:Windows XP
node 使用バージョン:1.6.1.0 (munin-node-win32-1.6.1.0-installer.exe)
speedfan 使用バージョン:4.45
・インストール・設定
まずは一通り以下のように設定を進めた。
munin-node-win32 のインストーラを実行し、インストール。
speedfan の設定
- [設定]→[xAP]タブ
- UID "FF671100"
- Hostname "client" ... コンピュータ名と一致する必要がある(?)
- Host IP "192.168.0.2"
- Broadcast IP "192.168.0.255"
munin-node の設定
Program Files\Munin Node for Windows\munin-node.ini を編集
使用したいプラグインを適宜オンにする。
[Plugins]
; Plugin Section, 1 enables plugin, 0 disables
SpeedFan=1[SpeedFanPlugin]
BroadcastIP=192.168.0.255
UID=FF671100
てっきり BroadcastIP は speedfan の物とあわせるものと思っていたが・・・
・問題発生・解決編
cmd を起動し実行してみると、
BroadcastIP=192.168.0.255
C:\Program Files\Munin Node for Windows>munin-node.exe -run
Error in SpeedFanNodePlugin at JCSocket::Bind(): 10049
となり、値は取得できなかった。
ソースを見てみると、"10049"というエラーコードらしきものは
WSAGetLastError 関数によって返されるエラーコードで、
によると
"要求されたアドレスを割り当てられません。"とのこと。
いろいろとググって見ると、”BroadcastIP=0.0.0.0 に設定し、ポートを開けると吉"
とあったので、まずは BroadcastIP を変更。
・最終的な munin-node.ini
[SpeedFanPlugin]
BroadcastIP=0.0.0.0
UID=FF671100
すると・・・
C:\Program Files\Munin Node for Windows>munin-node.exe -run
エラーが出なくなったが、値は取得できなかったのでポートを開ける。
xAP プロトコルは UDP 3639 ポートを使用するのでこれを設定すると・・・
無事に取得できました。