win PCをmuninでモニタリング(munin-node-win32 + speedfan)

  • 更新履歴
    • 2012/08/31 初版
    • 2014/02/11 自動起動方法変更
    • 2014/12/07 speedfan自動起動設定の情報を更新
    • 2015/10/17 munin-node-win32 1.6.1.0 win10 サービス登録不可

Win PCの稼働状況モニタにはmunin-node-win32を使ってたが、今回のタイミングで、munin-node-win32のspeedfanプラグイン経由でspeedfan情報も取れるようにしてみた。以下、この設定の備忘録。

speedfanで取れる情報とは、CPUコア別の温度やusageなど。munin-node-win32で取れる情報とは、HDD別空き容量、HDD温度、プロセス数、OS稼働時間、メモリusage、network trafficなど。

インストール/設定の流れ(2014/02/11修正)

大筋 ここ の情報で行ける。

  1. munin-node-win32-1.6.1.0-installer-beta.exe
    • https://code.google.com/p/munin-node-win32/
      • 2015/10/17時点 3 Feb 2011 version 1.6.1.0
    • インストールを実行。サービス登録のチェックを外す(後で手動でサービス登録)。
    • munin-node-win32.exe -run でエラーを確認。必要に応じてini修正。
      • SpeedFan=1, External=0, BroadcastIP=0.0.0.0
      • PerfCounterPlugin_smtpmessagessentセクションをコメントアウト
    • munin-node.exe -install でサービス登録
    • linux muninサーバからtelnetによりwin8上munin-node-win32の動作確認
      • ポート4949,コマンド list
  2. speedfan 4.47β4インストール
    • まずは単体動作設定
    • munin-node-win32に組み込まれているxAPクライアントからspeedfan情報が取れるようspeedfanのxAPを有効に
      • UID、PC名、ブロードキャストアドレスなどは(munin-node-win32.iniを意図的に書き換えてなければ)デフォルトでOK
    • linux muninサーバからtelnetによりwin8上munin-node-win32の動作確認2
      • ポート4949,コマンド fetch speedfan
  3. sexe.exeによりspeedfan.exeをサービス登録
    • sexe.exeにより登録するwindowsサービス名「speedfan」はNG。これをやってしまうとspeedfanの再インストールが必要になる。
  4. タスクスケジューラでログイン時にspeedfan起動設定。UACを効かせないため「最上位の特権で実行する」をチェック
  5. 再起動しサービス実行されることを確認
    • win8 サービス一覧、プロセス一覧、telnet確認

munin-node-win32, speedfanプラグイン設定メモ

  • munin-node.ini
    • 「BroadcastIP=0.0.0.0」は、同じ現象を確認。speedfan側のブロードキャストアドレスやIPはすべてデフォルトのままでOK。
    • ポート3639は設定しなくても動いた
  • smtpmessagessent設定でERROR。具体的なエラーは以下で、ini内のPerfCounterPlugin_smtpmessagessentセクションをコメントアウトでとりあえず動く。
    • ERROR:PerfCounter plugin: smtpmessagessent: PdhEnumObjectItems error=c0000bb8
    • ERROR:Failed to load PerfCounter plugin: [PerfCounterPlugin_smtpmessagessent]
  • external pluginに適当なファイルが明示されているのでERROR。iniのPluginsセクションでexternal=0(無効化)。

sexeでspeedfanサービス登録メモ

タスクスケジューラでログイン時にspeedfan起動設定。UACを効かせないため「最上位の特権で実行する」をチェック

常時監視するためOS起動毎にspeedfanの起動が必要。スタートアップに登録するとUACのダイアログが出るのでwindows サービスとして登録する。これを行うツールがsaxe。

  • sexe.exeで登録するサービス名に「speedfan」はNG。それ以外にする必要あり。
    • speedfanインストーラが「speedfan」という名前のサービス(?)を登録し、speedfan.exeはこのサービスが必須の様子。
    • sexeでspeedfan.exeをサービス名「speedfan」で登録すると、「既に登録されてる」というようなメッセージが出るが、sexe登録完了状態となり、その後sexe.exeを起動すると、サービス「speedfan」削除のみできる状態となる。
    • ここで削除してしまうと、その後speedfan.exeが起動できない状態となる(spedfan serviceがありませんのようなダイアログメッセージが出て終了)。
    • 再インストール/上書きインストールすると再び実行可能になる。


その他メモ

munin-node-win32コマンドラインオプション
C:\Program Files (x86)\Munin Node for Windows>munin-node.exe /?
M
Usage:
  -install    Install the 'Munin Node' service.
  -uninstall  Removes the 'Munin Node' service.
  -quiet      Close the console window, running in the background.
  -run        Run as a normal program, rather than a service.
muninサーバからtelnetによるmunin-node-win32動作確認
[~]$ telnet 10.xx.xx.xx 4949
Trying 10.xx.xx.xx...
Connected to 10.xx.xx.xx.
Escape character is '^]'.
# munin node at 10.xx.xx.xx
list
df memory processes network cpu hdd speedfan disktime processor uptime smtpmessagessent
fetch speedfan
temp_1.value 52.00
temp_1.warning 50.00
temp_2.value 41.50
temp_2.warning 70.00
temp_5.value 37.00
temp_5.warning 50.00
temp_6.value 35.00
temp_6.warning 50.00
temp_7.value 40.00
temp_7.warning 50.00
temp_8.value 37.00
temp_8.warning 50.00
temp_9.value 44.00
temp_9.warning 50.00
temp_10.value 40.00
temp_10.warning 50.00
.
quit
Connection closed by foreign host.
[~]$
telnet確認(speedfanが動いていない場合の挙動)
[~]$ telnet 10.xx.xx.xx 4949
Trying 10.xx.xx.xx...
Connected to 10.xx.xx.xx.
Escape character is '^]'.
# munin node at 10.xx.xx.xx
list
df memory processes network cpu hdd speedfan disktime processor uptime smtpmessagessent
fetch speedfan
# Unknown Error
.
quit
Connection closed by foreign host.
[~]$