Q

各事業所にあるWindows 2000 Serverの稼働状況を,本社のWindows XP Professionalの管理コンソールからリモートにて集中監視,データ収集を実施する計画です。本社のWindows XPの[パフォーマンス]の[システムモニタ]にてターゲットのカウンタ・ログを作成するまではできましたが,実行しようとすると,[ログまたは警告は開始されませんでした。現在の状態を表示するには,ログまたは警告の一覧を最新の情報に更新してください。]というエラーが発生し,ログ取得を開始できません(図5)。カウンタ・ログを減らしたり,ログ情報を最新に更新したりするなどしましたが,やはり変わりません。

図5●カウンタ・ログ実行時のエラーメッセージ
Windows XP ProfessionalのMMCから,離れたWindows 2000 Serverに対してカウンタ・ログを実行しようとするとエラーが発生し,ログ取得が開始できない。

A

エラー発生時に表示された[ログまたは警告]機能を実行する[Performance Logs and Alerts]サービスは,デフォルトではローカル・コンピュータのローカル・システム・アカウントを使っています。このアカウントにはネットワーク経由で他のコンピュータのログへアクセスする権限がないため,エラーが発生し,ログの取得に失敗します。イベント・ビューアのアプリケーション・ログには,ソースが[SysmonLog]で,2028や2029のイベントIDの警告が発生しているはずです(図6)。

図6●カウンタ・ログの実行時に失敗した場合,アプリケーション・ログに,ローカル・システム・アカウントでは十分なアクセス権がないことを示すログが記録される

 リモート・コンピュータのパフォーマンス・ログを取得するためには,上記サービスのサービス・アカウントに十分な権限を持ったユーザー・アカウントを設定する必要があります。

 まず,ログ収集に使用するユーザー・アカウントを作成して,各事業所にある対象マシンのAdministratorsグループへ参加させます。Administratorsグループは以下の設定によって十分な権限を持っています。それは,パフォーマンス・ライブラリ関連レジストリHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\SecurePipeServers\Winregおよび
HKEYLOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT
\CurrentVersion\Perflib,さらにSystemRootがNTFSパーティション上にある場合に必要な2つのファイル「%SystemRoot%\System32\Perfc009.dat」「%SystemRoot%\System32\Perfh009.dat」の両方に対して,デフォルトでアクセス権を持つようにしている点です。

 次に,管理コンソールを起動するWindows XPにて,MMC(マイクロソフト管理コンソール)の[サービス]スナップイン(ローカル・コンピュータのもの)を追加し,一覧の中から[Performance Logs and Alerts]を選択,プロパティを開きます。そして[ログオン]タブにてパフォーマンス・ログを取得する[アカウント]として先ほど作成したユーザー・アカウントを指定します。

 ここでは,ドメインのDomain Adminsグループのメンバーである「remoteuser」を,ローカルのAdministratorsグループへ追加し,サービス開始ユーザーに指定しました(図7)。次回から[Performance Logs and Alerts]サービスは[Domain\remoteuser]によって開始されます。ターゲットが初期設定のままWinregとPerflibへのアクセス権を持っていれば,作業終了後,[システムモニタ]にてカウンタ・ログの収集が開始できるはずです。

図7●カウンタ・ログ実行時のアカウントを変更する
[サービス]の[Performance Logs and Alerts]で「ログや警告サービスを実行するためのアカウント」に,[ローカルシステムアカウント]ではなく,操作を実行するユーザーのアカウントを指定する。

 仕組みが分かっていれば,Administratorsグループを使わなくとも問題は解決可能です。しかし,Winregキーはパフォーマンス・ライブラリだけではなく,レジストリ全体に対するアクセス権をコントロールするキーなので,設定変更には十分な注意が必要です。 

音喜多 朋子