Nettoyage des archives d'audit hors ligne
Lorsque l'audit est activé, vous devez surveiller l'espace disque pour déterminer si un nettoyage du référentiel AuditArchiveFileRepository du sous-système d'audit est nécessaire. En fonction de l'implémentation choisie, le référentiel AuditArchiveFileRepository contient l'un des deux sous-répertoires suivants, un pour chaque implémentation :
• Persistance directe : AuditArchiveDirectPersistence
• Table de données : AuditArchive
Si vous choisissez d'utiliser l'implémentation de type Table de données et que vous passez ultérieurement à l'implémentation de type Persistance directe, les données d'audit de l'implémentation de type Table de données sont conservées. La structure de répertoires du référentiel de fichiers se présente comme suit :
| L'inverse est également vrai : si vous basculez de l'implémentation de type Persistance directe vers celle de type Table de données, les données de persistance directe sont conservées. |
Les mesures suivantes peuvent faciliter votre décision :
• AuditArchiveDiskSpaceUsed (en Mo) : espace disque utilisé par le référentiel d'archivage
• AuditArchiveFreeDiskSpace (en Mo) : espace disque disponible
Deux objets planificateur sont applicables au service CleanUpOfflineAudit :
• AuditArchiveCleanupScheduler : par défaut, planifie une tâche le dernier vendredi de chaque mois à 18 heures. Vous pouvez modifier la planification en accédant à l'objet AuditArchiveCleanupScheduler dans ThingWorx Composer et en définissant une autre expression cron dans sa page de configuration.
La tâche appelle le service CleanUpOfflineAudit. En fonction de l'implémentation actuellement active, CleanUpOfflineAudit supprime les sous-répertoires des données d'audit archivées uniquement dans l'un des répertoires ci-dessus. Lorsque l'implémentation de type Table de données est active, seuls les sous-répertoires du répertoire AuditArchive sont supprimés. De même, lorsque la persistance directe est active, seuls les sous-répertoires du répertoire AuditArchiveDirectPersistence sont supprimés.
Les sous-répertoires supprimés sont ceux antérieurs à la valeur de la propriété DaysToArchive de ce planificateur. Vous pouvez définir la valeur de cette propriété dans ThingWorx Composer. Sa valeur par défaut est de 180 jours.
Outre une utilisation via un planificateur, vous pouvez appeler le service CleanUpOfflineAudit manuellement. Lorsqu'il est appelé manuellement, le service prend la date en entrée et supprime les données du sous-répertoire suivant selon l'implémentation active : AuditArchive pour l'implémentation de type Table de données ou AuditArchiveDirectPersistence pour l'implémentation de type Persistance directe.
• AuditArchiveCleanupNotificationScheduler : avertit les utilisateurs de l'exécution du service de nettoyage. Par défaut, cet objet planificateur est déclenché le dernier vendredi de chaque mois à 18 heures. Les utilisateurs abonnés à l'événement qu'il déclenche sont avertis que le service de nettoyage sera exécuté à 18 h (heure par défaut d'exécution de la tâche planifiée par l'objet
AuditArchiveCleanupScheduler). A l'instar du planificateur du service de nettoyage, vous pouvez modifier le jour et/ou la fréquence d'exécution de ce service de notification. Vous pouvez également vous inscrire à l'événement et ajouter votre propre logique dans un script que vous souhaitez exécuter à partir de l'événement. Reportez-vous à la section
Abonnement à l'événement ci-dessous pour plus d'informations.
Le service de nettoyage CleanUpOfflineAudit prend olderThanDate en entrée. Cet argument est de type DateTime et son format dépend des paramètres régionaux définis. Le service supprime les entrées d'audit du stockage hors ligne qui sont antérieures à la date spécifiée.
| Vous pouvez également exécuter le service CleanUpOfflineAudit manuellement. |
A la fin de l'opération, le service de nettoyage fournit des informations sur les répertoires supprimés et, le cas échéant, ceux dont la suppression a échoué. Notez que l'échec de suppression d'un fichier ou d'un répertoire n'interrompt pas le processus de nettoyage. Le service ignore le répertoire problématique et passe au suivant.
L'exemple ci-après illustre le fonctionnement du service de nettoyage.
Exemple 4. Utilisation du service CleanUpOfflineAudit
Par exemple, supposons que le service soit appelé avec la date 2020-03-07 et que le sous-répertoire du référentiel pour l'implémentation de type Persistance directe AuditArchiveDirectPersistence contienne les sous-répertoires suivants :
Une fois que le service de nettoyage s'exécute, le référentiel contient uniquement les sous-répertoires suivants :
Le sous-répertoire nommé 2020-03-07 correspond à la date spécifiée dans olderThanDate et le sous-répertoire nommé 2020-03-08 est postérieur au paramètre défini pour olderThanDate. Ces deux éléments sont conservés. Le service de nettoyage supprime les trois autres sous-répertoires, car ils sont antérieurs à la date définie pour olderThanDate.
Seuls les administrateurs sont habilités à appeler le service de nettoyage. Dans le cas d'un utilisateur non-administrateur, un administrateur doit lui accorder les permissions correspondantes à l'aide d'un remplacement de service. Pour en savoir plus sur les remplacements de service, consultez la rubrique
Remplacements de service dans la section
Sécurité de ce Centre d'aide.
Dans le cas contraire, un message d'erreur indiquant le motif de l'échec est renvoyé.
Bonnes pratiques pour la définition de la durée de conservation hors ligne des données
Si le reporting de mesure est activé, les données concernant le sous-système d'audit et son référentiel des fichiers d'archivage d'audit sont accessibles dans ThingWorx Composer. Pour accéder aux mesures, sélectionnez > . Vous pouvez consulter la liste des mesures dans la rubrique
Mesure des activités d'audit. Comme indiqué ci-avant, les mesures suivantes permettent de déterminer si un nettoyage des données d'audit archivées du référentiel est requis :
• AuditArchiveDiskSpaceUsed (en Mo) : espace disque utilisé par les données archivées dans le référentiel AuditArchiveFileRepository
• AuditArchiveFreeDiskSpace (en Mo) : espace disque disponible
Si l'espace disque disponible est faible, il est recommandé de nettoyer le référentiel dès que possible en appelant manuellement le service de nettoyage, puis en spécifiant une date de début utilisée par le service pour supprimer tous les fichiers et répertoires antérieurs à cette date. Pensez également à diminuer la valeur de la propriété DaysToArchive afin de toujours disposer de l'espace disque requis pour votre environnement.
Abonnement à l'événement
L'objet AuditArchiveCleanupNotificationScheduler déclenche un événement appelé AuditCleanupNotification et avertit les abonnés d'une opération imminente de nettoyage de fichiers. Vous pouvez vous inscrire à l'événement et ajouter votre propre logique dans un script que vous souhaitez exécuter à partir de l'événement.
La tâche associée à l'objet AuditArchiveCleanupScheduler utilise une propriété DaysToArchive. Par défaut, la valeur de cette propriété est de 180 jours (six mois) et peut être modifiée dans ThingWorx Composer. Tous les mois, la tâche planifiée est exécutée et nettoie toutes les données antérieures à la valeur spécifiée pour la propriété DaysToArchive. Vous pouvez également modifier la fréquence d'appel automatique du service dans Composer.