データコレクターセットの「追加」モード設定時にログ採取を開始できない問題

Last Update: feedback 共有

本記事はマイクロソフト社員によって公開されております。

いつも弊社製品をご利用いただきまして誠にありがとうございます。
Windows プラットフォーム サポートの相沢です。
今回は、パフォーマンス ログを採取するためのデータコレクターセットにおいて、パフォーマンス カウンターのログ モードを「追加(Append)」に設定しているとログ採取を開始できない問題が発生する場合がございますので、本問題と対処についてご紹介いたします。

対象 OS

  • Windows 10 (1607)
  • Windows Server 2016

概要

データコレクターセットは、パフォーマンス カウンターやイベント トレース データ等のデータ収集をスケジュールする際に使用され、パフォーマンス モニター ツール(perfmon.msc)や logman コマンドを用いて作成することができます。データコレクターセットでパフォーマンス カウンターのログを採取する際のオプションの一つとして、既存のログ ファイルに追記を行うログ モード 「追加(Append)」がございます。

しかしながら、ログ モードが「追加(Append)」に設定されているデータコレクターセットを実行したままシステムのシャットダウンを行うと、次回データコレクターセットの開始時に以下のエラーでデータコレクターセットを開始できない場合がございます。

原因

データコレクターセットを実行したままシステムをシャットダウンすると、シャットダウン処理の一環として自動的にデータコレクターセットの停止処理が行われますが、対象システムの負荷状況や性能によってはログ ファイルのクローズ処理が完了する前にデータコレクターセットが強制終了されてしまう場合がございます(Windows Server 2016 では、KB4519979 適用後の閾値は 1 秒)。この場合、ログ ファイルは正常なヘッダー情報が書き込まれていない状態となります。

その後、パフォーマンス カウンターのログモードを「追加(Append)」に設定している場合には、データコレクターセットの開始時に同一ファイルに対して書き込みを試みますが、ファイル ヘッダーが不完全な状態であることを検出してエラーが発生します。その結果、データコレクターセットを開始することができない問題が発生いたします。
この問題が発生した場合には、再度データコレクターセットを開始するためには、既存のログ ファイルを退避あるいは削除していただき、新規ログ ファイルとして取得する必要がございます。

なお、本現象が発生した場合においても、作成されているログ ファイルはパフォーマンス モニター ツール等で正常に解析することが可能です。

回避策

本事象の回避方法としては以下がございますので、何れかの案をご検討いただきますようお願いいたします。

  • システムのシャットダウン前に手動でデータコレクターセットを停止する
  • ログ モードの設定を「追加」モード以外に変更する

前者につきましては、システムのシャットダウン前に手動でデータコレクターセットを停止していただき、正常にデータコレクターセットが停止したことを確認してからシステムのシャットダウンを行う案となります。データコレクターセットが正常に停止すればログ ファイルにヘッダー情報が書き込まれますので本問題は発生いたしません。
※ グループ ポリシーやローカル グループ ポリシーの「シャットダウン スクリプト」に logman stop コマンドを設定した場合でも、シャットダウン スクリプトが実行されるよりも先にデータコレクターセットが強制終了されてしまう場合がございますので、有効な対策とはならない点にご注意ください。

後者につきましては、ファイルヘッダーが不完全な状態に陥った場合においても、ログ モードが「追加」以外に設定されている場合には影響を受けません(ログの解析にも影響はありません)。そのため、「追加」モード以外をご利用いただくことでも回避することが可能です。
ご参考までに、弊社サポート チームがお客様に OS のパフォーマンス カウンターの情報採取を依頼する際には、多くの場合は以下の公開情報の手順でご対応いただいております。こちらの手順で設定した場合には、「追加」のログ モードは使用せずに以下の条件でパフォーマンス カウンターのログを取得しますので、お客様のご要望に応じてご利用いただけますと幸いです。

OS の Performance 調査の準備
https://jpwinsup.github.io/mslog/perf/%E5%85%A8%E8%88%AC/performance.html
採取条件
・1日ごとに1つのログ ファイルを作成する。
・3 日分のログを保存しておき、それより古いログファイルは削除する (循環式)

本投稿が少しでも皆様のお役に立てば幸いです。
※ 本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。

変更履歴

  • 2021/02/10 : 本 Blog の公開