Offline-Prüfungsarchive bereinigen
Wenn die Prüfung aktiviert ist, müssen Sie den Speicherplatz überwachen, um zu ermitteln, ob Sie das AuditArchiveFileRepository des Prüfungsuntersystems bereinigen müssen. Je nach gewählter Implementierung enthält das AuditArchiveFileRepository zwei Unterverzeichnisse, eins für jede Implementierung:
• Direktpersistenz – AuditArchiveDirectPersistence
• Datentabelle – AuditArchive
Wenn Sie sich für die Datentabellen-Implementierung entscheiden und später zur Direktpersistenz-Implementierung wechseln, werden die Prüfungsdaten aus der Datentabellen-Implementierung beibehalten. Die Verzeichnisstruktur im Datei-Repository sieht folgendermaßen aus:
| Dies gilt auch umgekehrt: Wenn Sie von der Direktpersistenz- zur Datentabellen-Implementierung wechseln, bleiben die Direktpersistenz-Daten erhalten. |
Die folgenden Metriken können Sie bei der Entscheidung unterstützen, ob das Repository bereinigt werden muss:
• AuditArchiveDiskSpaceUsed(in MB) – Vom Archiv-Repository verwendeter Speicherplatz.
• AuditArchiveFreeDiskSpace(in MB) – Freier Speicherplatz.
Es gibt zwei Scheduler-Dinge für den Dienst CleanUpOfflineAudit:
• AuditArchiveCleanupScheduler – Standardmäßig wird ein Job am letzten Freitag jedes Monats um 18:00 Uhr geplant. Sie können den Zeitplan ändern, indem Sie zum AuditArchiveCleanupScheduler in ThingWorx Composer navigieren und einen anderen CRON-Ausdruck auf der Konfigurationsseite festlegen.
Der Job ruft den Dienst CleanUpOfflineAudit auf. Abhängig von der derzeit aktiven Implementierung löscht CleanUpOfflineAudit Unterverzeichnisse von archivierten Prüfungsdaten nur aus einem der obigen Verzeichnisse. Wenn die Datentabellen-Implementierung aktiv ist, werden nur Unterverzeichnisse aus AuditArchive gelöscht. Wenn die Direktpersistenz-Implementierung aktiv ist, werden nur Unterverzeichnisse aus AuditArchiveDirectPersistence gelöscht.
Gelöscht werden jeweils die Unterverzeichnisse, die älter als der Wert der Eigenschaft DaysToArchive dieses Scheduler sind. Sie können den Wert dieser Eigenschaft in ThingWorx Composer festlegen. Der Standardwert ist 180 Tage.
Außer über den Scheduler kann der Dienst CleanUpOfflineAudit auch manuell aufgerufen werden. Bei manuellem Aufruf verwendet der Dienst das Datum als Eingabe und entfernt Daten aus dem Unterverzeichnis für die derzeit aktive Implementierung (AuditArchive für die Datentabellen-Implementierung bzw. AuditArchiveDirectPersistence für die Direktpersistenz-Implementierung).
• AuditArchiveCleanupNotificationScheduler – Benachrichtigt Benutzer, dass der Bereinigungsdienst ausgeführt wird. Standardmäßig wird dieses Scheduler-Ding am letzten Freitag jedes Monats um 6:00 Uhr ausgelöst. Dies löst ein Ereignis aus, um alle Abonnenten des Ereignisses zu benachrichtigen, dass der Bereinigungsdienst um 18:00 Uhr ausgeführt wird (Standardzeit, zu der der durch
AuditArchiveCleanupScheduler geplante Job ausgeführt wird). Wie beim Scheduler für den Bereinigungsdienst können Sie den Tag und/oder die Frequenz für die Ausführung dieses Benachrichtigungsdiensts ändern. Sie können auch das Ereignis abonnieren und Ihre eigene Logik in einem Skript hinzufügen, das Sie auf Grundlage des Ereignisses ausführen möchten. Weitere Informationen finden Sie im nachfolgenden Abschnitt
Ereignis abonnieren.
Der Bereinigungsdienst CleanUpOfflineAudit verwendet olderThanDate als Eingabe. Dieses Argument hat den Typ DateTime und ein Format, das auf dem Gebietsschema basiert. Der Dienst löscht Prüfungseinträge aus dem Offline-Speicher, die älter als das angegebene Datum sind.
| Sie können den Dienst CleanUpOfflineAudit auch manuell ausführen. |
Für die Ausgabe stellt der Bereinigungsdienst Informationen über die Verzeichnisse bereit, die erfolgreich entfernt wurden und, falls zutreffend, Verzeichnisse, die der Dienst nicht entfernen konnte. Beachten Sie, dass ein Fehler beim Entfernen einer Datei oder eines Verzeichnisses nicht den Bereinigungsprozess beendet. Der Dienst überspringt das fehlerhafte Verzeichnis und fährt mit dem nächsten fort.
Das folgende Beispiel veranschaulicht die Funktionsweise des Bereinigungsdiensts.
Beispiel 4. Dienst "CleanUpOfflineAudit" verwenden
Angenommen, der Dienst wird mit dem Datum 2020-03-07 aufgerufen und das Repository-Unterverzeichnis für die Direktpersistenz-Implementierung, AuditArchiveDirectPersistence, enthält die folgenden Unterverzeichnisse:
Nachdem der Bereinigungsdienst ausgeführt wurde, enthält das Repository nur die folgenden Unterverzeichnisse:
Das Unterverzeichnis namens 2020-03-07 ist für das Datum vorgesehen, das als olderThanDate angegeben wurde, und das Unterverzeichnis namens 2020-03-08 ist später als das Unterverzeichnis olderThanDate. Diese beiden bleiben erhalten, während der Bereinigungsdienst die anderen drei Unterverzeichnisse löscht, da sie älter sind als das olderThanDate.
Nur Administratoren haben die Berechtigung, den Bereinigungsdienst aufzurufen. Damit ein Benutzer ohne Administratorrechte ihn aufrufen kann, muss ein Administrator dem Benutzer die entsprechenden Berechtigungen geben (per Dienstüberschreibung). Informationen zu Dienstüberschreibungen finden Sie im Thema
Dienstüberschreibungen im Abschnitt
Sicherheit dieses Hilfe-Centers.
Wenn der Bereinigungsdienst aus irgendeinem Grund fehlschlägt, wird eine Fehlermeldung mit dem Grund für den Fehler zurückgegeben.
Optimale Vorgehensweise für das Festlegen des Zeitwerts für die Offline-Aufbewahrung
Wenn die Metrikberichterstattungsfunktion aktiviert ist, sind relevante Metriken zum Prüfungsuntersystem und zum zugehörigen Prüfungsarchiv-Datei-Repository in ThingWorx Composer verfügbar. Um auf die Metriken zuzugreifen, wählen Sie > aus. Sie können die gesamte Liste der Metriken im Thema
Metriken für Prüfaktivitäten anzeigen. Wie oben erwähnt, sind die folgenden Metriken gute Indikatoren dafür, ob archivierte Prüfdaten im Repository bereinigt werden müssen:
• AuditArchiveDiskSpaceUsed (in MB) – Von den archivierten Daten in AuditArchiveFileRepository verwendeter Speicherplatz.
• AuditArchiveFreeDiskSpace(in MB) – Freier Speicherplatz.
Wenn der verwendete Speicherplatz hoch und der freie Speicherplatz niedrig ist, wird empfohlen, das Repository so bald wie möglich zu bereinigen, indem Sie den Bereinigungsdienst manuell aufrufen und ein Datum angeben, das der Dienst als Startpunkt für das Entfernen aller Dateien und Verzeichnisse verwendet, die älter als das angegebene Datum sind. Ziehen Sie auch in Betracht, DaysToArchive auf einen niedrigeren Wert festzulegen, sodass Sie die Menge an freiem Speicherplatz beibehalten, die Ihre Umgebung erfordert.
Ereignis abonnieren
AuditArchiveCleanupNotificationScheduler löst ein Ereignis namens AuditCleanupNotification aus und benachrichtigt Abonnenten über die bevorstehende Dateibereinigung. Sie können das Ereignis abonnieren und Ihre eigene Logik in einem Skript hinzufügen, das Sie auf Grundlage des Ereignisses ausführen möchten.
Der Job, der AuditArchiveCleanupScheduler zugeordnet ist, hat die Eigenschaft DaysToArchive. Standardmäßig ist der Wert dieser Eigenschaft 180 Tage (sechs Monate). Sie können diesen Wert in ThingWorx Composer ändern. Der geplante Job wird monatlich ausgeführt, um alle Daten zu bereinigen, die älter als die angegebenen DaysToArchive sind. Sie können auch die Frequenz des automatischen Dienstaufrufs in Composer ändern.