Pulizia degli archivi di verifica non in linea
Quando la verifica è attivata, è necessario monitorare lo spazio su disco per determinare se è necessario pulire la directory AuditArchiveFileRepository del sottosistema Verifica. A seconda dell'implementazione scelta, AuditArchiveFileRepository contiene una di due sottodirectory, una per ogni implementazione.
Persistenza diretta - AuditArchiveDirectPersistence
Tabella dati - AuditArchive
Se si sceglie di utilizzare l'implementazione della tabella dati e successivamente passare all'implementazione della persistenza diretta, i dati di verifica dell'implementazione della tabella dati vengono mantenuti. La struttura della directory nel repository di file ha l'aspetto seguente:
* 
È vero anche il contrario. Se si passa dalla persistenza diretta alla tabella dati, vengono mantenuti i dati della persistenza diretta.
Le metriche seguenti possono aiutare a decidere se è necessario pulire il repository:
AuditArchiveDiskSpaceUsed (indicato in MB) - La quantità di spazio su disco utilizzata dal repository di archiviazione.
AuditArchiveFreeDiskSpace (indicato in MB) - La quantità di spazio libero su disco rimanente.
Per il servizio CleanUpOfflineAudit sono disponibili due oggetti scheduler:
AuditArchiveCleanupScheduler - Per default, questa funzionalità programma un'operazione l'ultimo venerdì di ogni mese alle 18:00. È possibile modificare la programmazione selezionando AuditArchiveCleanupScheduler in ThingWorx Composer e impostando un'espressione CRON diversa nella relativa pagina Configurazione.
L'operazione chiama il servizio CleanUpOfflineAudit. A seconda dell'implementazione attiva corrente, CleanUpOfflineAudit elimina le sottodirectory dei dati di verifica archiviati solo da una delle directory riportate sopra. Quando è attiva l'implementazione della tabella dati, vengono eliminate solo le sottodirectory di AuditArchive. Allo stesso modo, quando è attiva la persistenza diretta, vengono eliminate solo le sottodirectory di AuditArchiveDirectPersistence.
Le sottodirectory eliminate sono quelle che risalgono a un valore superiore a quello specificato per la proprietà DaysToArchive di questo scheduler. È possibile impostare il valore di questa proprietà in ThingWorx Composer. Il valore di default è 180 giorni.
Oltre a utilizzare lo scheduler, è possibile chiamare il servizio CleanUpOfflineAudit manualmente. Quando viene chiamato manualmente, il servizio utilizza la data come input e rimuove i dati dalla sottodirectory per l'implementazione attiva corrente: AuditArchive per l'implementazione della tabella dati o AuditArchiveDirectPersistence per l'implementazione della persistenza diretta.
AuditArchiveCleanupNotificationScheduler - Notifica agli utenti che verrà eseguito il servizio di pulizia. Per default, questo oggetto scheduler viene attivato l'ultimo venerdì di ogni mese alle 6:00 e genera un evento per avvisare i sottoscrittori dell'evento che il servizio di pulizia verrà eseguito alle 18:00 (l'ora di default in cui verrà eseguita l'operazione programmata da AuditArchiveCleanupScheduler). Come per lo scheduler del servizio di pulizia è possibile modificare il giorno e/o la frequenza di esecuzione di questo servizio di notifica. È inoltre possibile effettuare la sottoscrizione all'evento e aggiungere la propria logica in uno script che si desidera eseguire in base all'evento. Per informazioni dettagliate, fare riferimento alla sezione Sottoscrizione all'evento riportata di seguito.
Il servizio di pulizia CleanUpOfflineAudit accetta come input olderThanDate. Questo argomento è di tipo DateTime, in un formato basato sulla lingua. Il servizio elimina dallo spazio di archiviazione non in linea le voci di verifica che risalgono a una data antecedente quella specificata.
* 
È inoltre possibile eseguire il servizio CleanUpOfflineAudit manualmente.
Per l'output, il servizio di pulizia fornisce informazioni sulle directory la cui rimozione è stata completata e, se applicabile, sulle directory che il servizio non è riuscito a rimuovere. Si noti che la mancata rimozione di un file o una directory non interrompe il processo di pulizia. Il servizio salta la directory per la quale viene riscontrato un errore e passa a quella successiva.
Nell'esempio seguente viene illustrato come funziona il servizio di pulizia.
Esempio 4. Utilizzo del servizio CleanUpOfflineAudit
Si supponga, ad esempio, che il servizio venga richiamato con la data 2020-03-07 e che la sottodirectory del repository per l'implementazione della persistenza diretta, AuditArchiveDirectPersistence, contenga le sottodirectory seguenti:
Al termine dell'esecuzione del servizio di pulizia, il repository contiene solo le sottodirectory seguenti:
La sottodirectory denominata 2020-03-07 è per la data specificata come olderThanDate e la sottodirectory denominata 2020-03-08 è successiva a olderThanDate. Queste due sottodirectory rimangono, mentre il servizio di pulizia elimina le altre tre sottodirectory perché risalgono a una data antecedente olderThanDate.
Solo gli amministratori hanno il permesso di richiamare il servizio di pulizia. Affinché un utente non amministratore possa richiamarlo, un amministratore deve fornire all'utente i permessi appropriati, utilizzando una sostituzione del servizio. Per informazioni sulle sostituzioni dei servizi, fare riferimento a Sostituzioni dei servizi nella sezione Protezione di questo Help Center.
Se il servizio di pulizia non riesce per qualche motivo, viene restituito un messaggio di errore con il motivo dell'errore.
Best practice per l'impostazione del valore del tempo di conservazione non in linea
Se la funzionalità di creazione di report delle metriche è attivata, le metriche pertinenti per il sottosistema Verifica e il relativo repository di file di archiviazione di verifica sono disponibili tramite ThingWorx Composer. Per accedere alle metriche, selezionare Monitoraggio > Sottosistema. Nell'argomento Metriche per attività di verifica è disponibile l'intero elenco di metriche. Come indicato in precedenza, le metriche seguenti sono indicatori validi della necessità di pulire i dati di verifica archiviati nel repository:
AuditArchiveDiskSpaceUsed (indicato in MB) - La quantità di spazio su disco utilizzata dai dati archiviati in AuditArchiveFileRepository.
AuditArchiveFreeDiskSpace (indicato in MB) - La quantità di spazio libero su disco rimanente.
Se lo spazio su disco utilizzato è elevato e lo spazio rimanente è esiguo, si consiglia di pulire il repository il più presto possibile richiamando manualmente il servizio di pulizia e specificando una data che il servizio utilizza come punto di partenza per la rimozione di tutti i file e le directory con data precedente a quella specificata. Prendere inoltre in considerazione la possibilità di impostare DaysToArchive su un valore inferiore in modo da mantenere la quantità di spazio libero su disco necessaria per l'ambiente in uso.
Sottoscrizione all'evento
L'istruzione AuditArchiveCleanupNotificationScheduler attiva un evento, denominato AuditCleanupNotification, e avvisa i sottoscrittori dell'imminente operazione di pulizia dei file. È possibile effettuare la sottoscrizione all'evento e aggiungere la propria logica in uno script che si desidera eseguire in base all'evento.
L'operazione associata a AuditArchiveCleanupScheduler dispone di una proprietà denominata DaysToArchive. Per default, il valore di questa proprietà è 180 giorni (sei mesi). È possibile modificare questo valore da ThingWorx Composer. L'operazione programmata viene eseguita mensilmente per pulire tutti i dati che risalgono a un numero di giorni superiore a quello specificato in DaysToArchive. È inoltre possibile modificare la frequenza del richiamo del servizio automatico in Composer.
È stato utile?