TL; DR:EventLogファイルがいっぱいでした。エントリの上書きは高価であるか、Windows Server 2008での実装があまり適切ではありません。
で@pk。と@joeqwertyの提案を聞いた後、忘れられていた監視の実装がイベントログをスクレイピングしている可能性が最も高いと判断しました。
ドメインコントローラーの1つにMicrosoftのネットワークモニターをインストールし、ProtocolName == MSRPC
フィルターを使用してMSRPCのフィルター処理を開始しました。多くのトラフィックがありましたが、それはすべてリモートサイトのRODCの間であり、残念ながらリスニングEventLogプロセスと同じ宛先ポートを使用しませんでした。くそー!その理論があります。
物事を単純化し、監視ソフトウェアを実行しやすくするために、SVCHostからEventLogサービスを展開することにしました。次のコマンドとドメインコントローラーの再起動は、1つのSVCHostプロセスをEventLogサービス専用にします。このPIDに複数のサービスが接続されていないため、これにより調査が少し簡単になります。
SC config EventLog Type= own
次に、ProcMonを使用して、そのPIDを使用しなかったすべてのものを除外するフィルターを設定しました。ここで考えられる原因として示されているように、EventLogが欠落しているレジストリキーを開こうとする試みに失敗することは多くありませんでした(明らかに、クラッピーなアプリケーションは非常に悪い方法でイベントソースとして登録できます)。予想通り、セキュリティイベントログ(C:\ Windows \ System32 \ WinEvt \ Logs \ Security.evtx)の多くの成功したReadFileエントリを見ました。
これらのイベントの1つのスタックを以下に示します。
最初にRPCBinding、次にRPCBindingUnbindに気付くでしょう。これらはたくさんありました。毎秒数千のように。セキュリティログが非常にビジーであるか、Security.evtx
ログで何かが正しく機能していません。
EventViewerでは、セキュリティログは1分あたり50〜100個のイベントのみを記録していましたが、これはこのサイズのドメインに適していると思われました。くそー!理論番号2には、忘れられた隅で非常に詳細なイベント監査が有効になっているアプリケーションがありましたが、まだ忠実に追い払われています。ログに記録されるイベントの割合が低くても、まだ多くのイベント(〜250,000)が記録されていました。おそらくログサイズ?
セキュリティログ-(右クリック)-プロパティ... 「必要に応じてイベントを上書きする」ラジオボタンがチェックされました。ログファイルを絶えず削除して書き込むことは、特に満杯の場合はおそらく大変な作業であると考えたため、ログをクリアすることを選択しました(後で監査する必要がある場合に備えて古いログを保存しました)。新しい空のファイル。その結果、CPU使用率は約5%の健全なレベルに戻りました。