WMIの動作修正・回復方法


Windows版SNMP?のようなWMI(ちょっと違うか?)。さまざまな情報がとれて便利なのですが、重厚な仕組みなのか不具合っぽいことがおおかったり、OSのバージョンによって対応状況が違ったりと、頼るとやっかいな状況になることもあったり。

先日、あるカウンタ情報が取れなかったサーバーで、動作修正(回復)手順を紹介。どんなケースで有効化までわからないので、あくまでも困ったときのオマジナイ程度で。

ケース

次の条件で困ってました。他いくつかのIIS情報は取れていたので、WMIの動作がなにか一部おかしいのでは?と疑いました。

OS Windows Server 2003 Web SP2
WMIで取得できないカウンタ Win32_PerfRawData_SMTPSVC_SMTPServe


あるドキュメントでは、該当カウンタ自身がWindows2000でしか対応してないという記述もあり。

scriptinternals.de
http://www.scriptinternals.com/new/us/default.asp?WMI_Win32_PerfRawData_SMTPSVC_SMTPServer

しかし最終的にはMS公式情報を信じて、取得できるはずと考え対応方法を調査することにしました。

TechNet:Win32_PerfRawData_SMTPSVC_SMTPServer class
http://technet.microsoft.com/en-us/query/aa394334

対応

次の手順でやろうと考え、それぞれ調査。1.診断(Diagnostic)、2.修正・復旧。

診断

WMI Diagnosis Utility というツールをつかって、各WindowsPCのWMI状況をチェックできる事がわかりました。なんともテンションが高い記事だが、MS社の公式。すばらしい。

TechNet:トラブルシュートだ!(2) WMI Diag (診断ツール) で WMI リポジトリの整合性を鬼チェック!
http://blogs.technet.com/b/jpilmblg/archive/2009/06/18/wmi-troubleshoot-2-wmi-diag-wmi.aspx
The WMI Diagnosis Utility – Version 2.1
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7684

しかしながら、比較した別WinSrv2003(該当カウンタ取得可能)で動かしても、問題がでてるサーバーで動かしても、どちらもエラー。Logは膨大ですぐに判断つかない状況。MSサポートじゃないとわからないのではないかと思われる情報量だった。うーん、本当に診断できてるのだろうか。

また、診断でエラーがあるのはわかったけど、修復はこのツールでは出来ない。

修正・復旧

その後ポチポチ探して見つけたのが次のフォーラム。SolarWinds社の人が回答してるし、うまく行きそう!?と期待して、実行したところ、無事に該当カウンタ値が取得できるようになりました!!

solarwinds: WMI statistic data inaccurate?
http://thwack.solarwinds.com/forums/68/application–server-management/21/application-performance-monitor/11538/wmi-statistic-data-inaccurate/#47390

実行手順。どのコマンドも実行しても特にレスポンスやエラーなく、すぐに完了していきます。

  1. WMIの該当フォルダに移動
  2. C:WINDOWSsystem32wbem>winmgmt /clearadap
  3. C:WINDOWSsystem32wbem>winmgmt /kill
  4. C:WINDOWSsystem32wbem>winmgmt /unregserver
  5. C:WINDOWSsystem32wbem>winmgmt /regserver
  6. C:WINDOWSsystem32wbem>winmgmt /resyncperf
  7. C:WINDOWSsystem32wbem>wmiadap.exe /f

幸い、次の部分は実行せずとも完了しました。

If it still does’nt work – stop WMI service – delete all content of folder C:WINDOWSsystem32wbemRepository and start service.

前述の対応後に、WMI Diagnosticsかけたんですが、結果レポートの違いあんまりないんですよねぇ。ただ、実行後にポップアップしていたエラーダイアログボックスは出なくなったという違いが。

機会があれば、上記コマンドについて理解したい所ですが、今回は解決したので良し!としてしまいました。

その他

ちなみにですが、問題のカウンタ:Win32_PerfRawData_SMTPSVC_SMTPServe は、IIS-SMTPが開始状態にないと取得できません。これは、WMI全般に言えることなのかな?

SNMP関係では、こんな苦労をしたことないので “シンプル” なのは、いいことだとか思ったり思わなかったり。

, ,

Comments are closed.