Tâches de maintenance dans AEM as a Cloud Service maintenance-tasks-in-aem-as-a-cloud-service

Les tâches de maintenance sont des processus qui s’exécutent selon un calendrier afin d’optimiser le référentiel. Avec AEM as a Cloud Service, le besoin des clients de configurer les propriétés opérationnelles des tâches de maintenance est minime. Les clients peuvent concentrer leurs ressources sur des préoccupations de niveau application, laissant les opérations d’infrastructure à Adobe.

Configuration des tâches de maintenance maintenance-tasks-configuring

Dans les versions précédentes d’AEM, vous pouviez configurer les tâches de maintenance à l’aide de la carte de maintenance (Outils > Opérations > Maintenance). Dans AEM as a Cloud Service, la carte de maintenance n’est plus disponible. Les configurations doivent donc être validées pour le contrôle source et déployées à l’aide de Cloud Manager. Adobe gère les tâches de maintenance dont les paramètres ne peuvent pas être configurés par les clients (par exemple, le nettoyage de la mémoire d’entrepôt de données). D’autres tâches de maintenance peuvent être configurées par les clients, comme décrit dans le tableau ci-dessous.

CAUTION
Adobe se réserve le droit de remplacer les paramètres de configuration de la tâche de maintenance d’un client ou d’une cliente afin d’atténuer des problèmes tels que la dégradation des performances.

Le tableau suivant illustre les tâches de maintenance disponibles.

Tâche de maintenance
Qui gère la configuration
Comment configurer (facultatif)
Récupération de l’espace mémoire du magasin de données
Adobe
S/O – appartient entièrement à Adobe.
Purge de version
Client
La purge de version est actuellement désactivée par défaut, mais la stratégie peut être configurée, comme décrit dans la section Tâches de maintenance de purge de version et de journal d’audit .

La purge sera bientôt activée par défaut, avec ces valeurs pouvant être remplacées.
Purge du journal d’audit
Client
La purge du journal d’audit est actuellement désactivée par défaut, mais la stratégie peut être configurée, comme décrit dans la section Tâches de maintenance de purge de version et de journal d’audit .

La purge sera bientôt activée par défaut, avec ces valeurs pouvant être remplacées.
Nettoyage des binaires Lucene
Adobe
Non utilisée et donc désactivée par Adobe.
Purge des tâches ad hoc
Client

Doit s’effectuer dans git. Remplacez le noeud de configuration de fenêtre de maintenance prêt à l’emploi sous /libs en créant des propriétés sous le dossier /apps/settings/granite/operations/maintenance/granite_weekly, granite_daily ou granite_monthly.

Consultez le tableau de fenêtre de maintenance ci-dessous pour en savoir plus sur la configuration. Activez la tâche de maintenance en ajoutant un autre nœud sous le nœud ci-dessus. Nommez-le granite_TaskPurgeTask, avec l’attribut sling:resourceType défini sur granite/operations/components/maintenance/task et l’attribut granite.maintenance.name défini sur TaskPurge. Configurez les propriétés OSGI. Voir com.adobe.granite.taskmanagement.impl.purge.TaskPurgeMaintenanceTask pour la liste des propriétés.

Purge du workflow
Client

Doit s’effectuer dans git. Remplacez le noeud de configuration de fenêtre de maintenance prêt à l’emploi sous /libs en créant des propriétés sous le dossier /apps/settings/granite/operations/maintenance/granite_weekly, granite_daily ou granite_monthly. Consultez le tableau de fenêtre de maintenance ci-dessous pour en savoir plus sur la configuration.

Activez la tâche de maintenance en ajoutant un autre nœud sous le nœud ci-dessus (nommez-le granite_WorkflowPurgeTask) avec les propriétés adéquates. Configurez les propriétés OSGI. Consultez la documentation sur les tâches de maintenance AEM 6.5.

Purge du projet
Client

Doit s’effectuer dans git. Remplacez le noeud de configuration de fenêtre de maintenance prêt à l’emploi sous /libs en créant des propriétés sous le dossier /apps/settings/granite/operations/maintenance/granite_weekly, granite_daily ou granite_monthly. Consultez le tableau de fenêtre de maintenance ci-dessous pour en savoir plus sur la configuration.

Activez la tâche de maintenance en ajoutant un autre nœud sous le nœud ci-dessus (nommez-le granite_ProjectPurgeTask) avec les propriétés adéquates. Consultez la liste des propriétés OSGI sous « Configuration de purge des projets Adobe ».

Configuration de la fenêtre de maintenance
Qui gère la configuration
Type de configuration
Paramètres
Quotidienne
Client
Définition de nœud JCR

windowSchedule=daily (cette valeur ne doit pas être modifiée)

windowStartTime=HH:MM dans un format horaire de 24 heures. Définit à quel moment les tâches de maintenance associées à la fenêtre de maintenance quotidienne doivent commencer à s’exécuter.

windowEndTime=HH:MM dans un format horaire de 24 heures. Définit à quel moment les tâches de maintenance associées à la fenêtre de maintenance quotidienne doivent arrêter de s’exécuter si elles ne sont pas déjà terminées.

Une tâche de maintenance ne peut pas être exécutée plusieurs fois pendant ce délai.

Hebdomadaire
Client
Définition de nœud JCR

windowSchedule=weekly (cette valeur ne doit pas être modifiée)

windowStartTime=HH:MM dans un format horaire de 24 heures. Définit à quel moment les tâches de maintenance associées à la fenêtre de maintenance hebdomadaire doivent commencer à s’exécuter.

windowEndTime=HH:MM dans un format horaire de 24 heures. Définit à quel moment les tâches de maintenance associées à la fenêtre de maintenance hebdomadaire doivent arrêter de s’exécuter si elles ne sont pas déjà terminées.

Une tâche de maintenance ne peut pas être exécutée plusieurs fois pendant ce délai.

windowScheduleWeekdays= tableau de 2 valeurs de 1 à 7 (par exemple, [5,5]) La première valeur du tableau désigne le jour de début planifié du traitement et la seconde le jour de fin où le traitement doit être arrêté. L’heure exacte du début et de la fin est régie par les paramètres windowStartTime et windowEndTime, respectivement.

Mensuel
Client
Définition de nœud JCR

windowSchedule=monthly (cette valeur ne doit pas être modifiée)

windowStartTime=HH:MM dans un format horaire de 24 heures. Définit à quel moment les tâches de maintenance associées à la fenêtre de maintenance mensuelle doivent commencer à s’exécuter.

windowEndTime=HH:MM dans un format horaire de 24 heures. Définit à quel moment les tâches de maintenance associées à la fenêtre de maintenance mensuelle doivent arrêter de s’exécuter si elles ne sont pas déjà terminées.

Une tâche de maintenance ne peut pas être exécutée plusieurs fois pendant ce délai.

windowScheduleWeekdays= tableau de 2 valeurs de 1 à 7 (par exemple, : [5,5]) La première valeur du tableau désigne le jour de début planifié du traitement et la seconde le jour de fin où le traitement doit être arrêté. L’heure exacte du début et de la fin est régie par les paramètres windowStartTime et windowEndTime, respectivement.

windowFirstLastStartDay= 0/1 0 pour planifier la première semaine du mois ou 1 pour planifier la dernière semaine du mois. En l’absence de valeur, les tâches sont planifiées le jour régi par le paramètre windowScheduleWeekdays (tous les mois).

Emplacements  :

  • Quotidien – /apps/settings/granite/operations/maintenance/granite_daily
  • Hebdomadaire – /apps/settings/granite/operations/maintenance/granite_weekly
  • Mensuel – /apps/settings/granite/operations/maintenance/granite_monthly

Exemples de code  :

Exemple de code 1 (quotidien)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
  xmlns:jcr="http://www.jcp.org/jcr/1.0"
  jcr:primaryType="sling:Folder"
  sling:configCollectionInherit="true"
  sling:configPropertyInherit="true"
  windowSchedule="daily"
  windowStartTime="03:00"
  windowEndTime="05:00"
 />

Exemple de code 2 (hebdomadaire)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
   xmlns:jcr="http://www.jcp.org/jcr/1.0"
   jcr:primaryType="sling:Folder"
   sling:configCollectionInherit="true"
   sling:configPropertyInherit="true"
   windowEndTime="15:30"
   windowSchedule="weekly"
   windowScheduleWeekdays="[5,5]"
   windowStartTime="14:30"/>

Exemple de code 3 (mensuel)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
   xmlns:jcr="http://www.jcp.org/jcr/1.0"
   jcr:primaryType="sling:Folder"
   sling:configCollectionInherit="true"
   sling:configPropertyInherit="true"
   windowEndTime="15:30"
   windowSchedule="monthly"
   windowFirstLastStartDay=0
   windowScheduleWeekdays="[5,5]"
   windowStartTime="14:30"/>

Tâches de maintenance de purge de version et de purge du journal d’audit purge-tasks

La purge des versions et le journal d’audit réduit la taille du référentiel et, dans certains cas, peut améliorer les performances.

NOTE
Les clients AEM Guides ne doivent pas configurer la purge de version.

Paramètres par défaut defaults

Actuellement, la purge n’est pas activée par défaut, mais cela changera à l’avenir. Les environnements créés avant l’activation de la purge par défaut auront un seuil plus conservateur, de sorte que la purge ne se produise pas de manière inattendue. Pour plus d’informations sur la stratégie de purge par défaut, reportez-vous aux sections Purge de version et Purge du journal d’audit ci-dessous.

Les valeurs de purge par défaut peuvent être remplacées en déclarant un fichier de configuration et en le déployant, comme décrit ci-dessous.

Application d’une configuration configure-purge

Déclarez un fichier de configuration et déployez-le, comme décrit dans les étapes suivantes.

NOTE
Une fois que vous avez déployé le noeud de purge de version dans le fichier de configuration, vous devez le conserver déclaré et ne pas le supprimer. Le pipeline de configuration échoue si vous tentez de le faire.
De même, une fois que vous avez déployé le noeud de purge du journal d’audit dans le fichier de configuration, vous devez le conserver déclaré et ne pas le supprimer.

1 - créez la structure de dossiers et de fichiers suivante dans le dossier de niveau supérieur de votre projet dans Git :

config/
     mt.yaml

2 - Déclarez les propriétés dans le fichier de configuration, notamment :

  • une propriété "type" avec la valeur "MaintenanceTasks".
  • une propriété "version" (nous sommes actuellement à la version 1).
  • un objet "metadata" facultatif avec la propriété envTypes avec une liste séparée par des virgules du type d’environnement (dev, stage, prod) pour lequel cette configuration est valide. Si aucun objet de métadonnées n’est déclaré, la configuration est valide pour tous les types d’environnements.
  • un objet de données avec les objets versionPurge et auditLogPurge.

Voir les définitions et la syntaxe des objets versionPurge et auditLogPurge ci-dessous.

Vous devez structurer la configuration comme dans l’exemple suivant :

kind: "MaintenanceTasks"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  versionPurge:
    maximumVersions: 15
    maximumAgeDays: 20
    paths: ["/content"]
    minimumVersions: 1
    retainLabelledVersions: false
  auditLogPurge:
    rules:
      - replication:
          maximumAgeDays: 15
          contentPath: "/content"
          types: ["Activate", "Deactivate", "Delete", "Test", "Reverse", "Internal Poll"]
      - pages:
          maximumAgeDays: 15
          contentPath: "/content"
          types: ["PageCreated", "PageModified", "PageMoved", "PageDeleted", "VersionCreated", "PageRestored", "PageValid", "PageInvalid"]
      - dam:
          maximumAgeDays: 15
          contentPath: "/content"
          types: ["ASSET_EXPIRING", "METADATA_UPDATED", "ASSET_EXPIRED", "ASSET_REMOVED", "RESTORED", "ASSET_MOVED", "ASSET_VIEWED", "PROJECT_VIEWED", "PUBLISHED_EXTERNAL", "COLLECTION_VIEWED", "VERSIONED", "ADDED_COMMENT", "RENDITION_UPDATED", "ACCEPTED", "DOWNLOADED", "SUBASSET_UPDATED", "SUBASSET_REMOVED", "ASSET_CREATED", "ASSET_SHARED", "RENDITION_REMOVED", "ASSET_PUBLISHED", "ORIGINAL_UPDATED", "RENDITION_DOWNLOADED", "REJECTED"]

Gardez à l’esprit que pour que la configuration soit valide :

  • toutes les propriétés doivent être définies. Il n’existe aucun paramètre par défaut hérité.
  • les types (entiers, chaînes, valeurs booléennes, etc.) dans les tableaux de propriétés ci-dessous doivent être respectés.
NOTE
Vous pouvez utiliser yq pour valider localement la mise en forme YAML de votre fichier de configuration (par exemple, yq mt.yaml).

3 - Configurez les pipelines de configuration hors production et en production.

Les environnements de développement rapide ne prennent pas en charge la purge. Pour les autres types d’environnements dans les programmes de production (non Sandbox), créez un pipeline de configuration de déploiement ciblé dans Cloud Manager.

Voir configuration des pipelines de production et configuration des pipelines hors production pour plus d’informations.

Purge de version version-purge

NOTE
Les clients AEM Guides ne doivent pas configurer la purge de version.

Valeurs par défaut de la purge de version version-purge-defaults

Actuellement, la purge n’est pas activée par défaut, mais cela changera à l’avenir.

Les environnements créés après l’activation de la purge par défaut auront les valeurs par défaut suivantes :

  • Les versions de plus de 30 jours sont supprimées.
  • Les cinq versions les plus récentes des 30 derniers jours sont conservées.
  • Quelle que soit la règle ci-dessus, la version la plus récente (en plus du fichier actif) est conservée.

Les valeurs par défaut des environnements créés avant l’activation de la purge par défaut sont répertoriées ci-dessous, mais il est recommandé de les réduire afin d’optimiser les performances.

  • Les versions de plus de 7 ans sont supprimées.
  • Toutes les versions des 7 dernières années sont conservées.
  • Au bout de 7 ans, les versions autres que la version la plus récente (en plus du fichier actif) sont supprimées.

Propriétés de purge de version version-purge-properties

Les propriétés autorisées sont répertoriées ci-dessous.

Les colonnes indiquant default indiquent les valeurs par défaut à l’avenir, lorsque les valeurs par défaut sont appliquées ; TBD reflète un ID d’environnement qui n’est toujours pas déterminé.

Propriétés

valeur par défaut future pour envs

À déterminer

valeur par défaut future des jalons<=À déterminer
obligatoire
Type
Valeurs
chemin(s) d’accès
["/content"]
["/content"]
Oui
tableau de chaînes
Spécifie les chemins sous lesquels purger les versions lors de la création de nouvelles versions. Les clients doivent déclarer cette propriété, mais la seule valeur autorisée est "/content".
maximumAgeDays
30
2557 (7 ans + 2 jours bissextiles)
Oui
Entier
Toute version antérieure à la valeur configurée est supprimée. Si la valeur est 0, la purge n’est pas effectuée en fonction de l’âge de la version.
maximumVersions
5
0 (aucune limite)
Oui
Entier
Toute version antérieure à la n dernière version est supprimée. Si la valeur est 0, la purge n’est pas effectuée en fonction du nombre de versions.
minimumVersions
1
1
Oui
Entier
Nombre minimum de versions qui sont conservées, indépendamment de l’âge. Notez qu’au moins 1 version est toujours conservée ; sa valeur doit être 1 ou supérieure.
keepLabeleledVersioned
false
false
Oui
booléen
Détermine si les versions explicitement étiquetées seront exclues de la purge. Pour une meilleure optimisation du référentiel, il est recommandé de définir cette valeur sur false.

Interactions de propriété

Les exemples suivants illustrent la manière dont les propriétés interagissent lorsqu’elles sont combinées.

Exemple :

maximumAgeDays = 30
maximumVersions = 10
minimumVersions = 2

S’il existe 11 versions le 23 jour, la version la plus ancienne sera purgée la prochaine fois que la tâche de maintenance de purge sera exécutée, puisque la propriété maximumVersions est définie sur 10.

S’il existe 5 versions au jour 31, seules 3 versions seront purgées, car la propriété minimumVersions est définie sur 2.

Exemple :

maximumAgeDays = 30
maximumVersions = 0
minimumVersions = 1

Aucune version ultérieure à 30 jours ne sera purgée, car la propriété maximumVersions est définie sur 0.

Une version de plus de 30 jours sera conservée.

Purge du journal d’audit audit-purge

Valeurs par défaut de la purge du journal d’audit audit-purge-defaults

Actuellement, la purge n’est pas activée par défaut, mais cela changera à l’avenir.

Les environnements créés après l’activation de la purge par défaut auront les valeurs par défaut suivantes :

  • Les journaux de réplication, de gestion des actifs numériques et d’audit de page datant de plus de 7 jours sont supprimés.
  • Tous les événements possibles sont consignés.

Les valeurs par défaut des environnements créés avant l’activation de la purge par défaut sont répertoriées ci-dessous, mais il est recommandé de les réduire afin d’optimiser les performances.

  • Les journaux de réplication, de gestion des actifs numériques et d’audit de page datant de plus de 7 ans sont supprimés.
  • Tous les événements possibles sont consignés.
NOTE
Il est recommandé que les clients, qui ont des exigences réglementaires pour produire des journaux d’audit non modifiables, s’intègrent à des services externes spécialisés.

Propriétés de purge du journal d’audit audit-purge-properties

Les propriétés autorisées sont répertoriées ci-dessous.

Les colonnes indiquant default indiquent les valeurs par défaut à l’avenir, lorsque les valeurs par défaut sont appliquées ; TBD reflète un ID d’environnement qui n’est toujours pas déterminé.

Propriétés

valeur par défaut future pour envs

À déterminer

valeur par défaut future des jalons<=À déterminer
obligatoire
Type
Valeurs
règles
-
-
Oui
Objet
Un ou plusieurs des noeuds suivants : réplication, pages, dam. Chacun de ces noeuds définit des règles, avec les propriétés ci-dessous. Toutes les propriétés doivent être déclarées.
maximumAgeDays
7 jours
pour tous, 2557 (7 ans + 2 jours bissextiles)
Oui
integer
Pour la réplication, les pages ou le dam : nombre de jours pendant lesquels les journaux d’audit sont conservés. Les journaux d’audit antérieurs à la valeur configurée sont purgés.
contentPath
"/content"
"/content"
Oui
Chaîne
Chemin d’accès sous lequel les journaux d’audit seront purgés, pour le type associé. Doit être défini sur "/content".
types
toutes les valeurs
toutes les valeurs
Oui
Tableau d'énumération
Pour replication, les valeurs énumérées sont : Activer, Désactiver, Supprimer, Tester, Inverser, Sondage interne. Pour pages, les valeurs énumérées sont : PageCreated, PageModified, PageMoved, PageDeleted, VersionCreated, PageRestored, PageRolled Out, PageValid, PageInvalid. Pour dam, les valeurs énumérées sont : ASSET_EXPIRING, METADATA_UPDATED, ASSET_EXPIRED, ASSET_REMOVED, RESTORED, ASSET_MOVED, ASSET_VIEWED, PROJECT_VIEWED, PUBLISHED_EXTERNAL, COLLECTION_VIEWED, VERSIONED, DED_COMMENT, RENDITION_UPDATED, ACCEPTÉ, TÉLÉCHARGÉ, SUBASSET_UPDATED, SUBASSET_REMOVED, ASSET_CREATED, ASSET_SHARED, RENDITION_REMOVED, ASSET_PUBLISHED, ORIGINAL_UPDATED, RENDITION_DOWNLOADED, REJECTED .
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab