Service de maintenance Automatique

Modifié par Aurelie Bertrand le 2024/11/15 14:27


DigDash Enterprise fournit un service de maintenance composé :

  • D’un nettoyeur de fichiers (connu aussi en tant que Files GC) nettoyant l'ensemble des fichiers inutilisés : vieux fichiers de l'historique, cubes et autres fichiers dépendant des flux.
  • D’une sauvegarde automatique de la configuration

Nettoyeur de fichiers

Le nettoyeur nettoie les fichiers non utilisés par les portefeuilles des utilisateurs et des rôles.

Le nettoyage parcourt les index de tous les utilisateurs, ainsi que le disque, afin de trouver les fichiers qui ne sont plus liés aux index. Les fichiers identifiés sont supprimés. Les fichiers effacés sont les suivants : fichiers de cubes (.dcg), fichiers js des cubes (cube_data_id.js), modèles (cube_dm_id.js) et flux (cube_view_id_js).

Cette opération présente l'avantage de libérer de l'espace disque et potentiellement d'accélérer les recherches de fichiers js, qui peuvent devenir non négligeables sur des volumétries importantes (nombre de cubes personnels * nb historiques > 100000)

Selon l'âge du serveur et la volumétrie des fichiers concernés (nombre de rafraîchissements effectués...), l'opération peut prendre beaucoup de temps lors de sa première exécution (sur certains déploiements comportant beaucoup d'utilisateurs et beaucoup de cubes personnalisés, une à deux heures). 

Ensuite, si le nettoyage est fait de manière régulière, le temps d'exécution sera moins long. Ce temps dépend énormément de la performance du système de fichiers et de la machine, ce qui le rend difficilement estimable.

Sauvegarde automatique

La sauvegarde automatique est effectuée avant le nettoyage des fichiers. Le fichier généré est copié dans le Répertoire de travail (AppData). <digdash.appdata>/Enterprise Server/<domaine>/backups/<date du jour>.zip

Par défaut, la maintenance se fait tous les jours à minuit.

Important :

Par défaut le service de maintenance ne se lance que si aucune session utilisateur n'est active à ce moment. De plus, pendant son fonctionnement aucun utilisateur ne peut se connecter à DigDash Enterprise. Attention donc à bien le programmer pour qu'il n'interfère pas avec l'utilisation normale de DigDash Enterprise par les utilisateurs, ni par l'ordonnanceur. Selon les cas nous conseillons de programmer le service de maintenance la nuit, et à des plages horaires différentes des plages de l'ordonnanceur.

Activation, désactivation et/ou nettoyage au démarrage

Ce paragraphe décrit comment activer et programmer le service de maintenance.
L'activation du nettoyeur de fichiers peut se faire de deux manières :

Depuis la page état du serveur

La page Etat du serveur est accessible depuis la page d'accueil de DigDash Enterprise puis en cliquant successivement sur les boutons Configuration et Etat du serveur.

Dans la rubrique Etat du nettoyeur de fichiers, cliquez sur la flèche bleue figurant à côté de Service de maintenance démarré pour démarrer le nettoyeur :

Service maintenance

Dans cet exemple, le prochain nettoyage aura lieu à minuit. C'est l'heure de nettoyage par défaut si aucune n'est définie dans system.xml, par le paramètre FILESGC_SCHEDXML. Consultez le paragraphe Programmation et options de la maintenance automatique pour plus de détails sur la programmation du nettoyeur.
Pour démarrer le nettoyeur de fichiers immédiatement, cliquez sur l’icône 1700040675471-344.png.

Cette activation du service de maintenance a un comportement spécifique équivalent à l'évènement interne FORCE_FILESMAINTENANCE : il est demandé au nettoyeur de fichier de démarrer une opération de nettoyage. Toutes les sessions courantes sont fermées. Le gestionnaire de sessions et l'ordonnanceur sont arrêtés et redémarrés une fois l'opération terminée.

Depuis le fichier digdash.properties

Fichier modifié : digdash.properties
Voir le chapitre "Externalisation des paramètres dans un fichier properties" pour effectuer cette manipulation.

Active ou non le module Files GC et/ou lance le nettoyage au démarrage du serveur.

ℹ Les tâches en cours (tâches planifiées) entraîneront l'annulation du service de maintenance. Une nouvelle tentative sera effectuée 1h plus tard. Au bout de 5 tentatives en échec, le service ne passera plus (5 nouvelles tentatives maximum) et sera reporté à la prochaine date de maintenance planifiée.

Paramètres disponibles :

  • Nom : ddenterpriseapi.startCleaner
    Valeur : booléen (défaut : false)
    Description :
    • true : nettoyage automatique des fichiers programmé.
      Note: l'heure du nettoyage est définie dans system.xml, par le paramètre FILESGC_SCHEDXML.
      L'heure de nettoyage par défaut (si aucune n'est spécifiée dans system.xml, FILESGC_SCHEDXML) est tous les jours à 0:00
    • false (défaut) : pas d'utilisation du nettoyeur de fichiers
  • Nom : ddenterpriseapi.cleanOnStart
    Valeur : booléen (défaut : false)
    Description :
    • true : nettoie les fichiers inutilisés au démarrage du serveur (fichiers de l'historique, cubes, fichiers résultats,...)
    • false (défaut) : ne nettoie pas les fichiers inutilisés au démarrage du serveur
  • Nom : ddenterpriseapi.autoBackup
    Valeur : booléen (défaut : false)
    Description :
    • *. true : active la sauvegarde automatique programmée
    • false (défaut) : n’active pas la sauvegarde automatique programmée

Dans le fichier digdash.properties, tous les paramètres sont préfixés du nom de l'application concernée.
Ici par défaut il s'agit de ddenterpriseapi (ddenterpriseapi.war).
Si vous avez renommé cette application, par exemple en ddapi_dev.war, les paramètres deviennent ddapi_dev.startCleanerddapi_dev.cleanOnStart, ...

Programmation et options de la maintenance automatique

Fichier modifié : system.xml.

Paramètres disponibles :

  • Nom : FILESGC_SCHEDXML
    Valeur : phrase XML (encodée) (défaut : aucune)
    Description : Ce paramètre contient une phrase XML encodée décrivant la fréquence de programmation.

Exemple :

<Property key="FILESGC_SCHEDXML"
value="&lt;Schedule frequency=&quot;daily&quot;
fromDay=&quot;11&quot; fromHour=&quot;0&quot;
fromMinute=&quot;0&quot; fromMonth=&quot;7&quot;
fromYear=&quot;2011&quot; periods=&quot;1&quot;
time=&quot;0:0&quot;/&gt;"
></Property>

Les attributs intéressants sont : frequency (hourly, daily ou monthly), periods (nombre d'heures, jours ou mois entre 2 nettoyages) et time (heure du nettoyage pour les fréquences daily et monthly). Cet exemple signifie tous les jours (frequency="daily" et periods="1") à 0:00 (time="0:0").

  • Nom : FILESGC_SESSIONSCHECK
    Valeur : true/false (booléen) (défaut : aucune, équivaut à true)
    Description : Ce paramètre indique si le nettoyeur de fichiers doit vérifier les sessions actives avant de se lancer (true), ou s'il se lance qu'elle que soit l'état des sessions actives (false). Dans ce dernier cas, toutes les sessions seront déconnectées instantanément.

Exemple :

<Property key="FILESGC_SESSIONSCHECK" value="false"></Property>
  • Nom : USEAUTOBACKUP
    Valeur : true/false (booléen) (défaut : aucune, équivaut à false)
    Description : Ce paramètre indique si le service de maintenance effectue aussi une sauvegarde complète de la configuration avant d’exécuter le nettoyage des fichiers
  • Nom : PROP_FILESGC_MIN_FILE_AGE
    Valeur : nombre (minutes) (défaut : 0)
    Description : Ce paramètre indique l'age minimum en minutes qu'un fichier doit avoir pour être effacé (s'il doit être effacé). Si le fichier est plus récent que cette valeur alors il ne sera pas effacé.
  • Nom : PROP_FILESGC_FASTMODE
    Valeur : true/false (booléen) (défaut : aucune, équivaut à false)
    Description : Ce paramètre indique si le service de maintenance doit ouvrir une session pour chaque utilisateur du système (false, le cas normal) ou s'il peut s'en passer (true). S'il est activé, alors le scan des fichiers à nettoyer est plus rapide mais au risque de ne pas effacer certains fichiers, par exemple ceux des flux et modèles qui ont été supprimés mais qui ont encore des données sur le disque.
  • Nom : PROP_FILESGC_MAXTIME
    Valeur : nombre (minutes) (défaut : -1, équivaut à aucune limite)
    Description : Ce paramètre indique le temps maximum dédié au nettoyage des fichiers. Si le temps est dépassé, alors le nettoyage des fichiers est interrompu et il restera des fichiers à nettoyer pour la fois suivante. Attention : si ce temps est déraisonnablement court, le nettoyeur peut ne rien faire. Cette valeur est très dépendante de la configuration de Digdash et doit être réglée en fonction des temps de nettoyage complet constatés en moyenne.