監査アーカイブのクリーンアップ
監査が有効になっている場合、ディスク領域を監視して、監査サブシステムの AuditArchiveFileRepository をクリーンアップしなければならないかどうかを判断する必要があります。リポジトリをクリーンアップする必要性について判断する際には以下の判定基準が役立ちます。
AuditArchiveDiskSpaceUsed (MB で表示) - アーカイブリポジトリによって使用されているディスク領域の量。
AuditArchiveFreeDiskSpace (MB で表示) - 空いているディスク領域の量。
ExportAuditData サービスには次の 2 つの Scheduler Thing があります。
AuditArchiveCleanupScheduler - デフォルトでは、毎月最終金曜日の午後 6 時にジョブをスケジュールします。このジョブは CleanUpOfflineAudit サービスを呼び出して、この Scheduler Thing の DaysToArchive プロパティよりも古いすべてのオフライン監査データディレクトリを AuditArchiveFileRepository から削除します。このプロパティは ThingWorx Composer から変更できます。そのデフォルト値は 180 日です。CleanUpOfflineAudit サービスは手動でも呼び出すことができます。手動で呼び出された場合、このサービスは日付を入力としてとり、その日付よりも古いすべての監査データディレクトリをリポジトリから除去します。
AuditArchiveCleanupNotificationScheduler - クリーンアップサービスが実行されることをユーザーに通知します。デフォルトでは、この Scheduler Thing は毎月最終金曜日の午前 6 時にトリガーされ、クリーンアップサービスが午後 6 時 (AuditArchiveCleanupScheduler によってスケジュールされているジョブが実行されるデフォルト時刻) に実行されるというイベントを購読ユーザーに通知するイベントを発生させます。クリーンアップサービスのスケジュールと同様に、この通知サービスが実行される日や頻度を変更できます。イベントを購読し、そのイベントに基づいて実行するスクリプトに独自のロジックを追加することもできます。詳細については、以下の イベントの購読のセクションを参照してください。
クリーンアップサービス CleanUpOfflineAudit は入力として olderThanDate をとります。この引数は DateTime タイプであり、YYYY-MM-DD というフォーマットで指定します。このサービスは、指定されている日数より古い監査エントリをオフラインストレージから削除します。このサービスは手動でも実行できます。
クリーンアップサービスは、出力として、正常に除去されたディレクトリと、該当する場合には、このサービスが除去に失敗したディレクトリについての情報を提供します。ファイルまたはディレクトリの除去に失敗してもクリーンアッププロセスは中止されません。このサービスは失敗したディレクトリをスキップして次のディレクトリに進みます。
たとえば、2017-06-07 の日付でこのサービスが呼び出され、監査アーカイブファイルリポジトリのルートディレクトリに次の名前が付いたサブディレクトリが含まれているとします。
クリーンアップサービスが実行された後、このリポジトリは以下のようになります。
管理者だけがクリーンアップサービスを呼び出すアクセス許可を持ちます。非管理者ユーザーがこれを呼び出すには、管理者がサービスオーバーライドを使用してそのユーザーに適切なアクセス許可を付与する必要があります。サービスオーバーライドについては、このヘルプセンターの 「セキュリティ」セクションにある サービスのオーバーライドのトピックを参照してください。
クリーンアップサービスが正常に終了すると、クリーンアップされた領域の量を示すメッセージがサーバーログに書き込まれます。何らかの理由でクリーンアップサービスが失敗した場合、エラーメッセージが失敗の理由とともに返されます。
オフライン保持期間の値を設定する際の最良事例
判定基準レポート機能が有効になっている場合、監査サブシステムとその監査アーカイブファイルリポジトリについての関連判定基準が ThingWorx Composer から提供されます。判定基準にアクセスするには、「監視」 > 「サブシステム」の順に選択します。判定基準の完全なリストが 監査アクティビティの判定基準のトピックに記載されています。前述のように、以下の判定基準は、リポジトリ内にアーカイブされている監査データをクリーンアップしなければならないかどうかを判断する際に役立ちます。
AuditArchiveDiskSpaceUsed (MB で表示) - AuditArchiveFileRepository にアーカイブされているデータによって使用されているディスク領域の量。
AuditArchiveFreeDiskSpace (MB で表示) - 空いているディスク領域の量。
使用されているディスク領域が多く、空き領域が少ない場合、日付を指定してクリーンアップサービスを手動で呼び出すことでリポジトリをただちにクリーンアップすることをお勧めします。サービスは指定された日付を開始点としてそれよりも古いすべてのファイルとディレクトリを除去します。さらに、DaysToArchive を小さい値に設定して、環境で必要とされる空きディスク領域量を維持するようにしてください。
イベントの購読
AuditArchiveCleanupNotificationSchedulerAuditCleanupNotification という名前のイベントをトリガーして、予定されているファイルクリーンアップ操作について購読ユーザーに通知します。イベントを購読し、そのイベントに基づいて実行するスクリプトに独自のロジックを追加できます。
AuditArchiveCleanupScheduler に関連付けられているジョブには DaysToArchive という名前のプロパティがあります。デフォルトでは、このプロパティの値は 180 日 (6 カ月) です。この値は ThingWorx Composer から変更できます。スケジュールされたジョブは毎月実行され、指定した DaysToArchive よりも古いすべてのデータをクリーンアップします。自動サービス呼び出しの頻度を Composer で修正することもできます。