Windows 2000のパフォーマンス・ログ収集をコマンドから制御して運用を自動化したい

対象プラットフォーム

質問

現在、Windows NT Server 4.0からWindows 2000 Serverに移行中です。 Windows NT Server 4.0では、リソースキットのツールを使ってパフォーマンスモニタの自動実行や停止を行なっていたのですが、Windows 2000 Serverでは、方法がわからず困っています。 どのようにすればよいのでしょうか?

回答

Windows 2000では、パフォーマンスモニタが「パフォーマンス ログと警告」というMMCのスナップイン化され、インタフェースが大きく変わっています。「パフォーマンス ログと警告」同様の機能を実現するには、作成したカウンタログのプロパティにある図xx1の「スケジュール」タブで時刻を設定してください。

図1:「スケジュール」タブ

37-perfmon8.png

ここで開始時刻や終了時刻を指定することで、自動実行や停止が可能です。

再起動するとログの収集が継続されない

ただし、ここで設定を行なっても、マシンの再起動を行なってしまうと、ログの収集が継続されません。再起動後に自動的にログの収集を開始させるには、「Performance Logs and Alerts」サービスの起動を「自動」に設定した上で、図1の「スケジュール」タブの画面で、ログの停止をデフォルトの「手動」以外にしておく必要があります。「手動」のままだと再起動後にログの収集が継続されませんので注意してください。

Windows NT 4.0互換の機能を使う

ここまで説明した方法で、一応自動実行が可能とはなりますが、OS標準のタスク機能がが使えず、定期的な実行もできませんので、定常的な運用で利用することを考えると、使い勝手がよいとはいえません。従来と同じ運用ができないという場合も多いと思います。

実は、Windows 2000 Serverのリソースキットにはperfmon4.exeという名称でWindows NT 4.0互換のパフォーマンスモニタが収録されていますので、これとWindows NT Server 4.0のリソースキットに収録されているmonitor.exeやdatalog.exeと組み合わせることで、Windows NT Server 4.0と同様の方法でパフォーマンスモニタの制御を行なうことも可能です。

この機能を利用するには、Windows NT Server 4.0のリソースキットに含まれているmonitor.exeとdatalog.exeをあらかじめ、Windows 2000マシンの%SystemRoot%\System32にコピーしておく必要があります。その上でperfmon4.exeを起動して、[View]-[Log]メニューから、取得するオブジェクトの種類やログファイルの出力場所、間隔などを図2のように設定した上で、最後に[File]-[Save Workspace As]のメニューから、pmwファイルを%Systemroot\System32に保存します。ここでは仮にtest.pmwという名称で保存したとしましょう。

図2: perfmon4.exeの設定

37-perfmon3.png 37-perfmon1.png 37-perfmon2.png

最後に図  3のようにmonitor setupコマンドを発行することで、「monitor service」というサービスが登録され、monitor.exeによるパフォーマンスモニタの制御が可能になります。なお「Failed to create service ***」というメッセージが出力されますが、実際には図  4のように、monitor serviceというサービスが作成されています。

図  3: monitorコマンドの発行

37-perfmon4.png

図  4: monitor serviceの登録

37-perfmon5.png

この状態で、monitor test.pmwコマンドを発行して、先ほど作成したpmwファイルを関連づけます。これにより、図  3のようにして、monitor startとmonitor stopコマンドでパフォーマンスモニタの制御が可能になります。後はタスクなどを使って、このコマンドを適宜実行するようにしてください。

Windows XP/.NET Serverのlogmanコマンド

こうした問題点を踏まえて、Windows XP/.NET Serverでは、新しく図  5のようなlogmanというコマンドが追加されています。

図  5: logmanコマンド

37-logman1.png

このコマンドにより、Windows 2000以降のパフォーマンスモニタの機能をコマンドラインから細かく制御できますので、これとタスク機能を組み合わせることで、きめ細かいパフォーマンスログの取得が可能になっています。

注記・補足

  1. 本文書は、日経 Windowsプロ 2002 年 12 月号の「トラブル解決 Q&A コーナー」に掲載された「Windows 2000のパフォーマンス・ログ収集をコマンドから制御して運用を自動化したい」の草稿を有志の方の方で HTML 化して掲載しているものです。

Copyright (C) 1998-2009 TAKAHASHI, Motonobu
Last update: 2003-04-13 21:37:59 JST
webmaster@monyo.com