Resuelva el crecimiento del almacén de segmentos provocado por los seguimientos de auditoría de Groovy Console en AEM 6.5 (Forms y otras soluciones)

Si su entorno local o AMS de AEM 6.5 muestra picos de disco repentinos y un almacén de segmentos TarMK de rápido crecimiento, un trabajo de Groovy Console de alta frecuencia podría estar creando nodos de registro de auditoría grandes bajo /var/groovyconsole/audit. Este escenario se observó en un entorno de AEM Forms, pero puede ocurrir en cualquier configuración de TarMK de AEM 6.5 mediante la consola de Groovy.
Este artículo explica cómo identificar el trabajo infractor, quitar con seguridad sus nodos de auditoría y recuperar espacio en disco ejecutando compactación sin conexión en el almacén de segmentos.

Nota: Este escenario incluye scripts personalizados de Groovy Console y pistas de auditoría. Groovy Console es una herramienta de terceros/de la comunidad y no forma parte del producto estándar de AEM.

Descripción description

Entorno

  • Producto: Adobe Experience Manager (AEM) 6.5 (incluido AEM Forms)
  • Versión: 6.5 Implementación: On-Premise o Adobe Managed Services (AMS) Persistencia: TarMK con segmentstore
  • Sistema operativo: Linux o Windows

Notas:

  • El problema descrito se observó en un entorno de AEM Forms, pero puede ocurrir en cualquier configuración de TarMK de AEM 6.5 con la consola de Groovy.
  • Este procedimiento no se aplica a AEM as a Cloud Service porque los usuarios no tienen acceso de nivel de sistema de archivos al almacén de segmentos.

Problema/Síntomas

En un entorno de producción Adobe Experience Manager (AEM) 6.5 Forms on-premise o Adobe Managed Services (AMS) , se produce un aumento repentino y rápido en el uso del disco. El directorio crx-quickstart/repository/segmentstore crece rápidamente en varios días y alcanza cientos de gigabytes. Se ejecuta la limpieza de revisión en línea pero no consigue recuperar espacio. El crecimiento no se explica por implementaciones recientes ni cambios de configuración.

Durante el análisis, se observan los siguientes síntomas:

  • crx-quickstart/repository/segmentstore crece rápidamente a decenas o cientos de gigabytes.
  • El uso del disco aumenta durante períodos cortos, a menudo durante fines de semana o fuera de horas.
  • La limpieza de revisión en línea se ejecuta, pero no reduce significativamente el tamaño del almacén de segmentos.
  • No hay implementaciones de aplicaciones ni cambios de configuración durante el período de crecimiento.
  • En /var/groovyconsole/audit/user/<year> existen muchos nodos de auditoría, creados por un trabajo programado de Groovy Console que se ejecuta cada dos minutos.

La investigación muestra que un trabajo personalizado de Groovy Console, programado para ejecutarse cada pocos minutos, escribe entradas de registro de auditoría grandes en una ruta específica del usuario y del año como /var/groovyconsole/audit/user/<year>. Estos nodos de auditoría causan hinchazón del repositorio y aumentan el crecimiento del almacén de segmentos.

Resolución resolution

Paso 1: Identifique el trabajo de Groovy Console que genera las pistas de auditoría

  1. Abra CRXDE Lite en la instancia de AEM Forms afectada.
  2. Vaya al nodo que almacena los trabajos existentes de Groovy Console, por ejemplo, en /var/groovyconsole.
  3. Busque trabajos existentes con una expresión cron de intervalo corto como 0 0/2 * * * ?, que se ejecuta cada dos minutos.

Para ver los pasos, consulte Usar CRXDE Lite en la Guía del usuario de AEM as a Cloud Service. Un nodo de trabajo típico contiene propiedades similares a las siguientes:

  • jobTitle = Remove Old File Attachments
  • cronExpression = 0 0/2 * * * ? (se ejecuta cada 2 minutos)
  • scheduledJobId = <job-id>
  • script = <groovy-script-body>
  • output = <summary-of-job-output>

Si estos trabajos solo generan registros de auditoría y no contenido crítico para la empresa, puede limpiar de forma segura sus nodos de auditoría y ajustar o eliminar la programación para evitar un crecimiento más rápido. Para ver los pasos, consulte Mantenimiento del registro de auditoría en AEM 6.

Paso 2: Limpia los nodos de auditoría de la Consola Groovy

Para reducir el tamaño del repositorio, quite los nodos de auditoría acumulados bajo /var/groovyconsole/audit/user/<year>. Utilice un script de Groovy Console bajo demanda en lugar de un nuevo trabajo programado para evitar un mayor crecimiento.

Importante: Usa Groovy Console con precaución en los sistemas de producción. Pruebe siempre los scripts primero en un entorno inferior, compruebe la ruta de destino y ejecútelos con los procedimientos de administración de cambios adecuados. Para ver los pasos, consulte Mantenimiento del registro de auditoría en AEM 6 en la Guía del usuario de AEM 6.5.

En este escenario, el crecimiento proviene de los nodos de pista de auditoría de Groovy Console bajo una ruta específica del usuario y el año, por ejemplo:

/var/groovyconsole/audit/user/<year>

Esta ruta solo contiene datos de auditoría para los trabajos de Groovy Console y se puede eliminar con seguridad. Ajuste el segmento de año en la ruta para que coincida con su entorno.

Ejemplo de script de la consola Groovy:

import javax.jcr.Session

// Adjust this path to the correct audit root for your environment.
// Example: "/var/groovyconsole/audit/user/<year>"
def path = "/var/groovyconsole/audit/user/<year>"

Session s = session  // Groovy Console injects a live JCR session

if (s.nodeExists(path)) {
    s.getNode(path).remove()
    s.save()
    println "Removed audit nodes under " + path
} else {
    println "No audit nodes to remove at " + path
}

Ejecute el script una vez en producción con una cuenta de usuario que tenga permisos suficientes para eliminar nodos en /var/groovyconsole/audit/user/<year>. En muchos entornos, se trata de un usuario administrativo o de servicio, pero los permisos exactos dependen del modelo de seguridad interno.

Una vez finalizado el script, compruebe en CRXDE Lite que los nodos de auditoría se hayan eliminado y confirme que el trabajo de la Consola Groovy ya no se ejecuta o se ejecuta con una programación menos agresiva y un registro mínimo.

Paso 3: Programar tiempo de inactividad y copia de seguridad para compactación sin conexión

  1. Planifique un período de mantenimiento fuera del horario laboral.
  2. Mostrar una página de mantenimiento o utilizar los procedimientos operativos existentes para bloquear el acceso de los usuarios si es necesario.
  3. Cree una copia de seguridad completa de la instancia (incluidos el directorio de instalación y el almacén de datos de AEM) antes de continuar. La compactación sin conexión cambia el repositorio en el disco y no es fácilmente reversible. Para ver los pasos, consulte Copias de seguridad en Supervisión y mantenimiento de la instancia de Adobe Experience Manager.
  4. Detenga la instancia de AEM Forms sin fisuras.

Paso 4: Ejecute la compactación de revisiones sin conexión en el almacén de segmentos

Para ver los pasos, consulte Limpieza de revisión en la Guía del usuario de AEM 6.5. Use una versión de oak-run compatible con su nivel de Service Pack de AEM 6.5. Asegúrese de que al menos el doble del tamaño actual del almacén de segmentos esté disponible como espacio libre en disco. Ejecute el siguiente comando desde el directorio de instalación de AEM en el servidor que aloja la instancia:

java -Xmx16g -jar oak-run-1.22.21.jar compact ./crx-quickstart/repository/segmentstore

Supervise el proceso hasta que se complete correctamente. No interrumpa la compactación. Si lo hace, el repositorio se dañará.

Paso 5: Reinicie AEM y valide

  1. Inicie la instancia de AEM Forms una vez finalizada la compactación.
  2. Elimine las páginas de mantenimiento o las reglas del equilibrador de carga utilizadas durante el tiempo de inactividad.
  3. Compruebe que todas las funcionalidades de Forms funcionan según lo esperado (creación, envío, procesamiento, integraciones).
  4. Compruebe el tamaño de crx-quickstart/repository/segmentstore y el uso del disco para confirmar que el tamaño ha disminuido a los niveles esperados.

Prevención y prácticas recomendadas

  • Evite los trabajos de alta frecuencia de Groovy Console en producción. Utilice los trabajos programados con moderación y solo cuando sea necesario.
  • Mantenga el registro de auditoría de la Consola Groovy y otras herramientas a un nivel adecuado y purgue los datos de auditoría regularmente.
  • Monitorice el tamaño de segmentstore y el uso del disco. Configure alertas cuando el uso se aproxime a los valores de umbral definidos.
  • Ejecute la limpieza de revisiones en línea según las recomendaciones de Adobe y realice la compactación periódica sin conexión según sea necesario, especialmente después de limpiezas grandes.
  • Utilice tareas de mantenimiento integradas y API admitidas siempre que sea posible en lugar de scripts personalizados que generan grandes volúmenes de datos de auditoría.

Notas

  • No elimine manualmente archivos de crx-quickstart/repository/segmentstore. La eliminación directa de archivos puede dañar el repositorio y provocar la pérdida de datos.
  • Si la limpieza de revisión en línea no reduce el tamaño del almacén de segmentos y este sigue creciendo, revise los trabajos personalizados recientes, los scripts y las operaciones por lotes para identificar el origen de la actividad de escritura.
  • Si tiene dudas sobre el estado del repositorio, utilice primero la coherencia de Oak y las herramientas check documentadas en un clon del entorno y, solo después, aplique los mismos pasos en la producción.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f