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 の設定

  1. [設定]→[xAP]タブ
  2. UID "FF671100"
  3. Hostname "client" ... コンピュータ名と一致する必要がある(?)
  4. Host IP "192.168.0.2"
  5. 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 ポートを使用するのでこれを設定すると・・・

無事に取得できました。