MID ファイルクリーナー - 古いエクスポートセットファイル、エラーのある ECC キューペイロード、およびログの削除Summary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 目次 はじめに機能ログ記録トラブルシューティング 潜在的なエラーファイルの最終アクセス時刻の一覧表示 MID ファイルクリーナーの無効化 はじめに Tokyo リリース以降、MID サーバーで新しいモニタースレッドが実行され、古いファイルをクリーンアップしたり、インストールフォルダー内のファイルのサイズと量を管理しやすい状態に保ち、MID サーバーのパフォーマンスの問題を防止したりします。 この広範な変更は、MID サーバーの機能停止サポートケースの原因となった特定の問題の修正に関連して行われました。PRB1507153/KB0965745 エクスポートセットでは、MID サーバーに保存された添付ファイルのデータクリーンアップがないため、最終的に MID サーバーのパフォーマンスの問題が発生します 機能 次のフォルダー内のファイルと空のサブフォルダーは、この MID ファイルクリーナーによって削除される場合があります。最後にアクセスしてから 30 日以上経過したファイルは削除されます。 起動時に実行され、その後は 24 時間ごとに実行されます。MID サーバーサービスを再起動することで、ファイルクリーナーを強制的に実行できます。 クリーニングされるフォルダー/ファイル (Zurich 現在) \agent\import\agent\export - サブフォルダーを含む。エクスポートセット機能で使用されます。\agent\work\monitors\ECCSender\output_error - San Diego 以降、何らかの理由で挿入できない ECC 入力ペイロードに使用されます。( PRB1521761/KB0995569 を参照)\agent\work\monitors\ECCSender\output_oversize - Eureka/Fuji 以降で、mid.eccq.max_payload_size で設定された制限 (デフォルトは 20,000,000 バイト) よりも大きいためにインスタンスに送信されないペイロードのコピーを保存するために使用されます。 (PRB598334を参照)\agent\logs - 具体的には JFR ダンプ (Utah リリース以降) - ログローテーションの設定については KB1637658 MID サーバーログファイルハンドラーおよびログファイルの圧縮 を参照してください。 注意:インポートフォルダーとエクスポートフォルダーは、プローブが最初に使用する必要があるときに作成されます。これらのホームフォルダーは残ります。ファイルとサブフォルダーのみが削除されます。 ログ MID サーバーエージェントログには、このモニターが MID サーバーで起動およびシャットダウンしていることが表示されます。 2022-10-21T13:08:58.330+0200 INFO (MIDServer) [Main:265] Initializing MID Server2022-10-21T13:10:36.527+0200 INFO (StartupSequencer) [Monitors:307] Enabling monitor: FileCleanerMonitor...2022-10-24T09:29:35.193+0200 INFO (MIDServer) [MIDServerState:160] MID Server stopping2022-10-24T09:29:38.591+0200 INFO (MIDServer) [Instance:928] interrupting thread FileCleanerMonitor.21600 To see exactly when it runs, you will need to enable debug with parameter mid.log.level=debug 2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\import2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\export2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\work\monitors\ECCSender\output_error2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\work\monitors\ECCSender\output_oversize2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\logs 個々のファイル/フォルダーの削除はログに記録されません。 トラブルシューティング 潜在的なエラー 「削除するファイルの収集中にエラーが発生しました」「ファイル属性のチェックイン中にエラーが発生しました:「 + パス」 2022-05-11 15:28:11 (428) FileCleanerMonitor.21600 SEVERE *** ERROR *** Error occurred while checking the file attributes in: C:\...\agent\exportjava.nio.file.NoSuchFileException: C:\...\agent\export2022-05-11 15:28:11 (428) FileCleanerMonitor.21600 SEVERE *** ERROR *** Error occurred while checking the file attributes in: C:\...\agent\work\monitors\ECCSender\output_oversizejava.nio.file.NoSuchFileException: C:\...\agent\work\monitors\ECCSender\output_oversize2022-05-11 15:28:11 (428) FileCleanerMonitor.21600 SEVERE *** ERROR *** Error occurred while checking the file attributes in: C:\...\agent\work\monitors\ECCSender\output_errorjava.nio.file.NoSuchFileException: C:\...\agent\work\monitors\ECCSender\output_error2022-05-11 15:28:11 (428) FileCleanerMonitor.21600 SEVERE *** ERROR *** Error occurred while checking the file attributes in: C:\...\agent\importjava.nio.file.NoSuchFileException: C:\...\agent\import 「ファイルを削除しようとしているときにエラーが発生しました」 + filePath顧客は、MID サーバーのインストールフォルダー内でカスタムの低温権限を手動で設定しないでください。MID サーバーフォルダーの権限にユーザーを追加する方法としてサポートされている唯一の方法は、MID サーバーのパラメーター mid.windows_host.file_permissions.allow_list を使用することです。ドキュメント:Windows MID サーバーのファイル権限の適用「デフォルトでは、エージェントフォルダーは、ローカル管理者グループ、システムアカウント、作成者の所有者、および Windows MID サーバーが使用しているユーザーアカウントの 4 つのユーザーアカウントとグループにロックされています。許可されたユーザーアカウントのリストは、MID Server パラメーター mid.windows_host.file_permissions.allow_list によって制御される許可リストによって管理されます。このパラメーターは、カンマで区切られたグループ名、ユーザー名、およびセキュリティ識別子 (SID) の文字列を受け取ります。グループ名とユーザー名は、SAM アカウントの命名要件に従う必要があります。ドメインアカウントは、SID を使用して指定する必要があります"2022-10-20T07:55:03.088-0600 ERROR (FileCleanerMonitor.21600) [AFileCleaner:122] Error occurred while trying to delete file: C:\...\agent\export\XXXjava.nio.file.AccessDeniedException: C:\...\agent\export\XXXat java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:89)at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:274)at java.base/sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:105)at java.base/java.nio.file.Files.delete(Files.java:1142)at com.service_now.monitor.AFileCleaner.removePath(AFileCleaner.java:120)at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)at com.service_now.monitor.AFileCleaner.deleteFiles(AFileCleaner.java:108)at com.service_now.monitor.FileCleanerMonitor.run(FileCleanerMonitor.java:48)at com.service_now.monitor.AMonitor.runit(AMonitor.java:154)at com.service_now.monitor.AMonitor.access$200(AMonitor.java:43)at com.service_now.monitor.AMonitor$MonitorTask.execute(AMonitor.java:147)at com.service_now.monitor.base.AMonitorTask.run(AMonitorTask.java:29)at java.base/java.util.TimerThread.mainLoop(Timer.java:556)at java.base/java.util.TimerThread.run(Timer.java:506) ファイルの最終アクセス時刻の一覧表示 この Powershell スクリプトを使用して、エクスポートフォルダー内で 30 日以上経過したファイルの最終アクセスタイムスタンプをリストできます。これは、ファイルクリーナーが持つべきものをすべて削除したことを確認するために使用できます。 $Folder = 'C:\MID_SERVERS\empdpiper_1\agent\export\*.*'$lastAccessDate = (Get-Date).AddDays(30) Get-ChildItem $Folder -Recurse | Where-Object { $_.LastAccessTime -lt $lastAccessDate} | Select-Object -Property Name, LastAccessTime MID ファイルクリーナーの無効化 まず、これは現在のエクスポートセットだけでなく、将来他の大きなファイルもクリーンアップされるため、お勧めしません。無効にする方法については、「 KB2659081 - エクスポートセットフォルダーが MID サーバーから削除される」を参照してください。 エクスポートセットは、MID サーバーの agent\export フォルダーにファイルを書き込みます。この場合、顧客側でのカスタム実装によってこれらのファイルが取得され別の場所へ移動されるため、これらのファイルは MID サーバーアプリケーションのインストールディレクトリに短時間だけ残す必要があるという考え方です。 MID サーバー設定パラメーター mid.file_cleaner.disabled=true を追加することで、すべてのフォルダーで MID ファイルクリーナーを完全に無効にすることができます。このパラメーターが存在しない場合 (すぐに使用できる状態)、デフォルトは false で、ファイルクリーナーが実行されます。 MID サーバーフォームで、[設定パラメーター] 関連リストの [新規] をクリックし、[mid.file_cleaner.disabled] を選択して、値「true」を入力します。 これは、config.xmlファイルに手動で追加することもできます。 <parameter name="mid.file_cleaner.disabled" value="true"/> Tokyo にアップグレードする前にパラメーターを追加すると、Tokyo にアップグレードしたときにファイルが削除されなくなります。 MID サーバーサービスを再起動し、対応する設定でロードされたconfig.xmlファイルを確認します。これにより、それが本当に無効になっていることが確認されます。 注:個々のフォルダーを無効にすることはできません。これをオフにすると、これらのフォルダーのクリーニングがすべて停止されます。 警告:MID サーバーのパフォーマンスの問題は、これらのフォルダーが大きくなりすぎてファイルが多すぎることが原因で発生しています。これを無効にすると、ディスク容量の問題が発生しないか定期的に確認したり、すべてのファイルの権限を確認している間に MID サーバーの起動を遅らせたりする必要があります。