Tablero de operaciones operations-dashboard

Introducción introduction

AEM AEM El tablero de operaciones en la 6 ayuda a los operadores de sistemas a monitorizar el estado del sistema de un vistazo de manera rápida y con un solo vistazo. AEM También proporciona información de diagnóstico generada automáticamente sobre aspectos relevantes de la implementación y le permite configurar y ejecutar la automatización de mantenimiento independiente para reducir significativamente las operaciones del proyecto y los casos de soporte. El tablero de operaciones se puede ampliar con comprobaciones de estado y tareas de mantenimiento personalizadas. Además, se puede acceder a los datos del tablero de operaciones desde herramientas de monitorización externas a través de JMX.

El tablero de operaciones:

  • Es un estado del sistema de un solo clic para ayudar a los departamentos de operaciones a ganar en eficiencia
  • Proporciona información general sobre el estado del sistema en un solo lugar centralizado
  • Reduce el tiempo para buscar, analizar y solucionar problemas
  • Proporciona automatización de mantenimiento independiente que ayuda a reducir significativamente los costes de operaciones del proyecto

AEM Se puede acceder a él yendo a Herramientas - Operaciones desde la pantalla de bienvenida de la página de inicio de sesión de la página de inicio de la página de inicio de sesión de la página de inicio de la página de bienvenida.

NOTE
Para poder acceder al tablero de operaciones, el usuario que ha iniciado sesión debe formar parte del grupo de usuarios "Operadores". Para obtener más información, consulte la documentación sobre Administración de usuarios, grupos y derechos de acceso.

Informes de estado health-reports

AEM El sistema de informes de estado proporciona información sobre el estado de una instancia de a través de las comprobaciones de estado de Sling. Esta operación se realiza mediante solicitudes OSGI, JMX, HTTP (mediante JSON) o a través de la interfaz de usuario táctil. Ofrece mediciones y umbrales de ciertos contadores configurables y, a veces, ofrece información sobre cómo resolver el problema.

Tiene varias características que se describen a continuación.

Comprobación del estado health-checks

Los Informes de mantenimiento son un sistema de tarjetas que indican un estado de salud bueno o malo en un área específica del producto. Estas tarjetas son visualizaciones de las comprobaciones de estado de Sling, que agregan datos de JMX y otras fuentes y exponen de nuevo la información procesada como MBeans. Estos MBean también se pueden inspeccionar en la consola web JMX, en el dominio org.apache.sling.healthCheck.

AEM Se puede tener acceso a la interfaz de informes de mantenimiento a través del menú Herramientas - Operaciones - Informes de mantenimiento de la pantalla de bienvenida de la o directamente a través de la siguiente dirección URL:

https://<serveraddress>:port/libs/granite/operations/content/healthreports/healthreportlist.html

chlimage_1-116

El sistema de tarjetas expone tres estados posibles: OK, WARN y CRITICAL. Los estados son el resultado de reglas y umbrales, que se pueden configurar pasando el ratón sobre la tarjeta y haciendo clic en el icono de engranaje de la barra de acciones:

chlimage_1-117

Tipos de comprobación de estado health-check-types

AEM Existen dos tipos de controles de estado en el 6:

  1. Comprobaciones de estado individuales
  2. Comprobación de estado compuesto

Una comprobación de estado individual es una única comprobación de estado que corresponde a una tarjeta de estado. Las comprobaciones de estado individuales se pueden configurar con reglas o umbrales y pueden proporcionar una o más sugerencias y vínculos para resolver los problemas de estado identificados. Veamos la comprobación "Registrar errores" como ejemplo: si hay entradas de ERROR en los registros de instancias, búsquelas en la página de detalles de la comprobación de estado. En la parte superior de la página, puede ver un vínculo al analizador "Mensaje de registro" en la sección Herramientas de diagnóstico, que le permite analizar estos errores con más detalle y reconfigurar los registradores.

Una comprobación de estado compuesta es una comprobación que agrega información de varias comprobaciones individuales.

Las comprobaciones de estado compuestas se configuran con la ayuda de etiquetas de filtro. En esencia, todas las comprobaciones individuales que tienen la misma etiqueta de filtro se agrupan como una comprobación de estado compuesta. Una comprobación de estado compuesta tiene el estado OK sólo si todas las comprobaciones únicas que agrega tienen también el estado OK.

Cómo crear comprobaciones de estado how-to-create-health-checks

En el tablero de operaciones, puede visualizar el resultado de las comprobaciones de estado individuales y compuestas.

Creación de una comprobación de estado individual creating-an-individual-health-check

La creación de una comprobación de estado individual implica dos pasos: implementar una comprobación de estado de Sling y agregar una entrada para la comprobación de estado en los nodos de configuración del panel.

  1. Para crear una comprobación de estado de Sling, cree un componente OSGI que implemente la interfaz Sling HealthCheck. Añada este componente dentro de un paquete. Las propiedades del componente identifican completamente la comprobación de estado. Una vez instalado el componente, se crea automáticamente un MBean JMX para la comprobación de estado. Consulte la Documentación de comprobación de estado de Sling para obtener más información.

    Ejemplo de un componente Comprobación de estado de Sling, escrito con anotaciones del componente Servicio OSGI:

    code language-java
    @Component(service = HealthCheck.class,
    property = {
        HealthCheck.NAME + "=Example Check",
        HealthCheck.TAGS + "=example",
        HealthCheck.TAGS + "=test",
        HealthCheck.MBEAN_NAME + "=exampleHealthCheckMBean"
    })
     public class ExampleHealthCheck implements HealthCheck {
        @Override
        public Result execute() {
            // health check code
        }
     }
    
    note note
    NOTE
    La propiedad MBEAN_NAME define el nombre del mbean generado para esta comprobación de estado.
  2. Después de crear una comprobación de estado, se debe crear un nuevo nodo de configuración para que sea accesible en la interfaz del tablero de operaciones. Para este paso, es necesario conocer el nombre del MBean JMX de la comprobación de estado (la propiedad MBEAN_NAME). Para crear una configuración para la comprobación de estado, abra CRXDE y agregue un nodo (de tipo nt:unstructured) en la siguiente ruta: /apps/settings/granite/operations/hc

    Las siguientes propiedades deben establecerse en el nuevo nodo:

    • Nombre: sling:resourceType

      • Tipo: String
      • Valor: granite/operations/components/mbean
    • Nombre: resource

      • Tipo: String
      • Valor: /system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/exampleHealthCheck
    note note
    NOTE
    La ruta de acceso al recurso anterior se crea de la siguiente manera: si el nombre de mbean de la comprobación de estado es "test", agregue "test" al final de la ruta de acceso /system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck
    Por lo tanto, el camino final es el siguiente:
    /system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/test
    note note
    NOTE
    Asegúrese de que la ruta de acceso /apps/settings/granite/operations/hc tiene las siguientes propiedades definidas como true:
    sling:configCollectionInherit
    sling:configPropertyInherit
    Este proceso indica al administrador de configuración que combine las nuevas configuraciones con las existentes de /libs.

Creación de una comprobación de estado compuesta creating-a-composite-health-check

La función de una comprobación de estado compuesta es agregar varias comprobaciones de estado individuales que compartan un conjunto de características comunes. Por ejemplo, la comprobación de estado compuesta de seguridad agrupa todas las comprobaciones de estado individuales que realizan comprobaciones relacionadas con la seguridad. El primer paso para crear una comprobación compuesta es añadir una configuración OSGI. Para que se muestre en el tablero de operaciones, se debe agregar un nuevo nodo de configuración de la misma manera que una simple comprobación.

  1. Vaya al Administrador de configuración web en la consola OSGI. Acceder a https://serveraddress:port/system/console/configMgr

  2. Busque la entrada Apache Sling Composite Health Check. Cuando lo encuentre, verá que ya hay dos configuraciones disponibles: una para las comprobaciones del sistema y otra para las comprobaciones de seguridad.

  3. Cree una configuración pulsando el botón "+" en el lado derecho de la configuración. Aparece una nueva ventana, como se muestra a continuación:

    chlimage_1-23

  4. Cree una configuración y guárdela. Se crea un Mbean con la nueva configuración.

    El propósito de cada propiedad de configuración es el siguiente:

    • Nombre (hc.name): Nombre de la comprobación de estado compuesta. Se recomienda un nombre significativo.
    • Etiquetas (hc.tags): Las etiquetas para esta comprobación de estado. Si esta comprobación de estado compuesta debe formar parte de otra comprobación de estado compuesta (por ejemplo, en una jerarquía de comprobaciones de estado), agregue las etiquetas con las que está relacionada esta combinación.
    • Nombre de MBean (hc.mbean.name): El nombre del MBean que se le dio al MBean JMX de esta comprobación de estado compuesta.
    • Etiquetas de filtro (filter.tags): Propiedad específica de las comprobaciones de estado compuestas. Estas etiquetas se agregan mediante el compuesto. La comprobación de estado compuesta agrega bajo su grupo todas las comprobaciones de estado que tengan cualquier etiqueta que coincida con cualquiera de las etiquetas de filtro de este compuesto. Por ejemplo, una comprobación de estado compuesta que tiene las etiquetas de filtro test y check, agrega todas las comprobaciones de estado individuales y compuestas que tienen cualquiera de las etiquetas test y check en su propiedad tags ( hc.tags).
    note note
    NOTE
    Se crea un nuevo MBean JMX para cada nueva configuración de la comprobación de estado compuesta de Apache Sling.**
  5. Por último, la entrada de la comprobación de estado compuesta que se ha creado debe agregarse en los nodos de configuración del tablero de operaciones. El procedimiento es el mismo que con las comprobaciones de estado individuales: se debe crear un nodo de tipo nt:unstructured en /apps/settings/granite/operations/hc. La propiedad resource del nodo está definida por el valor de hc.media.name en la configuración OSGI.

    Por ejemplo, si creó una configuración y estableció el valor hc.mbean.name en diskusage, los nodos de configuración lucirán de la siguiente manera:

    • Nombre: Composite Health Check

      • Tipo: nt:unstructured

    Con las siguientes propiedades:

    • Nombre: sling:resourceType

      • Tipo: String
      • Valor: granite/operations/components/mbean
    • Nombre: resource

      • Tipo: String
      • Valor: /system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/diskusage
    note note
    NOTE
    Si crea comprobaciones de estado individuales que pertenecen lógicamente a una comprobación compuesta que ya está presente en el panel de forma predeterminada, se capturan automáticamente y se agrupan en la comprobación compuesta correspondiente. Como tal, no es necesario crear un nodo de configuración para estas comprobaciones.
    Por ejemplo, si crea una comprobación de estado de seguridad individual, asígnele la etiqueta "security" y se instalará. Aparece automáticamente bajo la comprobación compuesta Comprobaciones de seguridad en el tablero de operaciones.

AEM Comprobaciones de estado proporcionadas con el health-checks-provided-with-aem

Nombre de zHealthcheck
Descripción
Rendimiento de consultas

AEM Esta comprobación de estado se simplificó en la versión 6.4, y ahora comprueba el MBean Oak QueryStats refactorizado recientemente, más específicamente el atributo SlowQueries n. Si las estadísticas contienen consultas lentas, la comprobación de estado devuelve una advertencia. De lo contrario, devuelve el estado OK.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=queriesStatus,type=HealthCheck.

Longitud de la cola de observación

La longitud de la cola de observación se repite en todos los oyentes de eventos y observadores en segundo plano, compara su queueSize con su maxQueueSize y:

  • devuelve el estado crítico si el valor queueSize supera el valor maxQueueSize (entonces se eliminarían los eventos)
  • devuelve una advertencia si el valor queueSize supera el valor maxQueueSize * WARN_THRESHOLD (el valor predeterminado es 0,75)

La longitud máxima de cada cola proviene de configuraciones independientes (Oak AEM y) y no se puede configurar a partir de esta comprobación de estado. El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=ObservationQueueLengthHealthCheck,type=HealthCheck.

Límites de recorrido de la consulta

Límites de recorrido de consultas comprueba el MBean QueryEngineSettings, más específicamente los atributos LimitInMemory y LimitReads, y devuelve el siguiente estado:

  • devuelve el estado de advertencia si uno de los límites es igual o superior a Integer.MAX_VALUE
  • devuelve el estado de advertencia si uno de los límites es inferior a 10000 (la configuración recomendada de Oak)
  • devuelve el estado Crítico si no se puede recuperar QueryEngineSettings o alguno de los límites

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=queryTraversalLimitsBundle,type=HealthCheck.

Relojes sincronizados

Esta comprobación solo es relevante para clústeres de almacén de nodos de documentos. Devuelve el siguiente estado:

  • devuelve el estado Advertencia cuando los relojes de instancia no están sincronizados y sobrepasan un umbral bajo predefinido
  • devuelve el estado Crítico cuando los relojes de instancia no están sincronizados y sobrepasan un umbral alto predefinido

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=slingDiscoveryOakSynchronizedClocks,type=HealthCheck.

Índices asíncronos

Comprobación de los índices asíncronos:

  • devuelve un estado crítico si falla al menos una ruta de indexación

  • comprueba lastIndexedTime para todas las rutas de indización y:

    • devuelve un estado crítico si es hace más de dos horas
    • devuelve un estado de advertencia si está entre 2 horas y 45 minutos atrás
    • devuelve el estado OK si es hace menos de 45 minutos
  • si no se cumple ninguna de estas condiciones, devuelve el estado OK

Los umbrales de estado Crítico y Avisar son configurables. El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=asyncIndexHealthCheck,type=HealthCheck.

AEM AEM Nota: Esta comprobación de estado está disponible con la versión 6.4 y se ha trasladado a la versión 6.3.0.1, de la que se dispone en la versión 6.3.0.1.

Índices grandes de Lucene

Esta comprobación utiliza los datos expuestos por el MBean Lucene Index Statistics para identificar índices y devoluciones grandes:

  • un estado de advertencia si hay un índice con más de 1000 millones de documentos
  • un estado crítico si hay un índice con más de 1500 millones de documentos

Los umbrales se pueden configurar y el MBean de la comprobación de estado es org.apache.sling.healthCheck:name=largeIndexHealthCheck,type=HealthCheck.

AEM AEM Nota: Esta comprobación está disponible con la versión 6.4 y se ha trasladado a la versión 6.3.2.0 de la versión posterior de la versión 6.3.................................................................................................................................................................................................................................................................

Mantenimiento del sistema

Mantenimiento del sistema es una comprobación compuesta que devuelve el estado OK si todas las tareas de mantenimiento se están ejecutando según lo configurado. Tenga en cuenta que:

  • cada tarea de mantenimiento va acompañada de una comprobación de estado asociada
  • si una tarea no se añade a una ventana de mantenimiento, su comprobación de estado devuelve Crítico
  • configure las tareas de mantenimiento Registro de auditoría y Depuración del flujo de trabajo o elimínelas de las ventanas de mantenimiento. Si no se configuran, estas tareas fallan en el primer intento de ejecución, por lo que la comprobación de mantenimiento del sistema devuelve el estado crítico.
  • AEM Con la tarea de mantenimiento de Lucene Binaries Maintenance de 6.4, también hay una comprobación para esta tarea
  • AEM en la versión 6.2 y versiones posteriores, la comprobación de mantenimiento del sistema devuelve un estado de advertencia justo después del inicio, ya que las tareas nunca se ejecutan. A partir de la versión 6.3, funcionan correctamente si aún no se ha alcanzado la primera ventana de mantenimiento.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=systemcheck,type=HealthCheck.

Cola de replicación

Esta comprobación recorre en iteración los agentes de replicación y observa sus colas. Para el elemento en la parte superior de la cola, la comprobación determina cuántas veces el agente ha reintentado la replicación. Si el agente reintentó la replicación más allá del valor del parámetro numberOfRetriesAllowed, devolverá una advertencia. El parámetro numberOfRetriesAllowed se puede configurar.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=replicationQueue,type=HealthCheck.

Trabajos de Sling

Sling Jobs comprueba el número de trabajos en cola en JobManager, lo compara con el maxNumQueueJobs umbral y:

  • devuelve un valor Critical si hay más de maxNumQueueJobs en la cola
  • devuelve un valor Critical si hay trabajos activos de larga duración con más de una hora
  • devuelve un valor Critical si hay trabajos en cola y la última hora de trabajo finalizada es anterior a 1 hora

Solo se puede configurar el número máximo de trabajos en cola y tiene el valor predeterminado de 1000.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=slingJobs,type=HealthCheck.

Rendimiento de solicitudes

Esta comprobación determina granite.request.metrics.timer la métrica Slingy:

  • devuelve un valor Critical si el valor del percentil 75 supera el umbral crítico (el valor predeterminado es 500 milisegundos)
  • devuelve un valor Warn si el valor del percentil 75 supera el umbral de advertencia (el valor predeterminado es 200 milisegundos)

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=requestsStatus,type=HealthCheck.

Errores de registro

Esta comprobación devuelve el estado de advertencia si hay errores en el registro.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=logErrorHealthCheck,type=HealthCheck.

Espacio en disco

La comprobación Espacio en disco busca en el MBean FileStoreStats, recupera el tamaño del almacén de nodos y la cantidad de espacio en disco utilizable en la partición del almacén de nodos, y:

  • devuelve una advertencia si la proporción de espacio en disco disponible respecto al tamaño del repositorio es menor que el umbral de advertencia (el valor predeterminado es 10)
  • devuelve un valor Critical si la relación entre el espacio en disco disponible y el tamaño del repositorio es menor que el umbral crítico (el valor predeterminado es 2)

Ambos umbrales se pueden configurar. La marca de verificación solo funciona en instancias con un almacén de segmentos.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=DiskSpaceHealthCheck,type=HealthCheck.

Programador de comprobación de estado

Esta comprobación devuelve una advertencia si la instancia tiene trabajos de Quartz en ejecución durante más de 60 segundos. El umbral de duración aceptable es configurable.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=slingCommonsSchedulerHealthCheck,type=HealthCheck.

Comprobaciones de seguridad

La comprobación de seguridad es un compuesto que agrega los resultados de varias comprobaciones relacionadas con la seguridad. Estas comprobaciones de estado individuales solucionan problemas diferentes de la lista de comprobación de seguridad disponible en la página de documentación de Lista de comprobación de seguridad. La comprobación es útil como prueba de humo de seguridad cuando se inicia la instancia.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=securitycheck,type=HealthCheck

Paquetes activos

Paquetes activos comprueba el estado de todos los paquetes y:

  • devuelve el estado Advertir si alguno de los paquetes no está activo o activo (a partir de, con activación diferida)
  • ignora el estado de los paquetes en la lista de omisión

El parámetro de lista de omisión se puede configurar.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=inactiveBundles,type=HealthCheck.

Comprobación de caché de código

Una comprobación de estado que comprueba varias condiciones de JVM que pueden almacenar en déclencheur un error de CodeCache presente en Java™ 7:

  • devuelve un mensaje de advertencia si la instancia se está ejecutando en Java™ 7 y el vaciado de caché de código está habilitado
  • devuelve un valor Warn si la instancia se está ejecutando en Java™ 7 y el tamaño de la caché de código reservada es inferior a un umbral mínimo (el valor predeterminado es 90 MB)

El umbral minimum.code.cache.size se puede configurar. Para obtener más información sobre el error, consulte y luego busque el identificador de error 8012547.

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=codeCacheHealthCheck,type=HealthCheck.

Errores de ruta de búsqueda de medios

Comprueba si hay recursos en la ruta de acceso /apps/foundation/components/primary y:

  • devuelve un valor de tipo Warn si hay nodos secundarios en /apps/foundation/components/primary

El MBean para esta comprobación de estado es org.apache.sling.healthCheck:name=resourceSearchPathErrorHealthCheck,type=HealthCheck.

Configuración de comprobación de estado health-check-configuration

AEM De forma predeterminada, para una instancia de predeterminada, las comprobaciones de estado se ejecutan cada 60 segundos.

Puede configurar Period con la configuración de OSGi Configuración de la comprobación de estado de la consulta (com.adobe.granite.queries.impl.hc.QueryHealthCheckMetrics).

Monitorización con servicios externos monitoring-with-external-services

La integración es posible con tecnologías o proveedores externos. Consulte su documentación para obtener más información.

Herramientas de diagnóstico diagnosis-tools

El tablero de operaciones también proporciona acceso a las herramientas de diagnóstico, que pueden ayudar a encontrar y solucionar las causas básicas de las advertencias procedentes del tablero de comprobación de estado, así como a proporcionar información de depuración importante para los operadores del sistema.

Entre sus características más importantes se encuentran:

  • Un analizador de mensajes de registro
  • La capacidad de acceder a los volcados de pila e hilos
  • Analizadores de rendimiento de consultas y solicitudes

AEM Puede llegar a la pantalla Herramientas de diagnóstico si va a Herramientas - Operaciones - Diagnóstico desde la pantalla de bienvenida de la. También puede tener acceso a la pantalla si accede directamente a la siguiente dirección URL: https://serveraddress:port/libs/granite/operations/content/diagnosis.html

chlimage_1-120

Mensajes de registro log-messages

La interfaz de usuario de mensajes de registro muestra todos los mensajes de ERROR de forma predeterminada. Si desea que se muestren más mensajes de registro, configure un registrador con el nivel de registro adecuado.

Los mensajes de registro utilizan un anexador de registro en memoria y, por lo tanto, no están relacionados con los archivos de registro. Otra consecuencia es que al cambiar los niveles de registro en esta interfaz de usuario no se cambia la información que se registra en los archivos de registro tradicionales. Añadir y eliminar registradores en esta interfaz de usuario solo afecta al registrador de memoria. Además, el cambio de las configuraciones del registrador se refleja en el futuro del en el registrador de memoria. Las entradas que ya están registradas y ya no son relevantes no se eliminan, pero entradas similares no se registran en el futuro.

Puede configurar lo que se registra proporcionando configuraciones del registrador desde el botón del engranaje superior izquierdo de la interfaz de usuario. Aquí puede agregar, quitar o actualizar las configuraciones del registrador. Una configuración del registrador está compuesta por un nivel de registro (WARN / INFO / DEBUG) y un nombre de filtro. El nombre de filtro tiene la función de filtrar el origen de los mensajes de registro que se registran. Alternativamente, si un registrador debe capturar todos los mensajes de registro para el nivel especificado, el nombre del filtro debe ser "root". Déclencheur Al establecer el nivel de un registrador, se capturan todos los mensajes con un nivel igual o superior al especificado.

Por ejemplo:

  • Si planea capturar todos los mensajes de ERROR, no se requiere configuración. Todos los mensajes ERROR se capturan de forma predeterminada.

  • Si planea capturar todos los mensajes de ERROR, WARN e INFO, el nombre del registrador debe establecerse en: "root" y el nivel del registrador en: INFO.

  • Si planea capturar todos los mensajes procedentes de un paquete determinado (por ejemplo, com.adobe.granite), el nombre del registrador debe configurarse como: "com.adobe.granite". Y el nivel del registrador establecido en: DEBUG (al hacerlo se capturan todos los mensajes de ERROR, WARN, INFO y DEBUG), como se muestra en la imagen siguiente.

chlimage_1-121

NOTE
No puede establecer un nombre de registrador para capturar solo los mensajes de ERROR a través de un filtro especificado. De forma predeterminada, se capturan todos los mensajes de ERROR.
NOTE
La interfaz de usuario de mensajes de registro no refleja el registro de errores real. A menos que esté configurando otros tipos de mensajes de registro en la interfaz de usuario de, solo verá mensajes de ERROR. Para ver cómo mostrar mensajes de registro específicos, consulte las instrucciones anteriores.
NOTE
La configuración de la página de diagnóstico no influye en lo que se registra en los archivos de registro y a la inversa. Por lo tanto, aunque el registro de errores puede capturar mensajes INFO, es posible que no los vea en la interfaz de usuario de mensajes de registro. Además, a través de la interfaz de usuario es posible capturar mensajes de DEPURACIÓN de ciertos paquetes sin que afecte al registro de errores. Para obtener más información sobre cómo configurar los archivos de registro, vea Registro.
NOTE
AEM Con la versión 6.4, las tareas de mantenimiento se registran de forma predeterminada en un formato enriquecido más informativo a nivel INFO. Este flujo de trabajo ofrece una mejor visibilidad del estado de las tareas de mantenimiento.
Si utiliza herramientas de terceros (como Splunk) para monitorizar y reaccionar ante la actividad de la tarea de mantenimiento, puede utilizar las siguientes instrucciones de registro:
Log level: INFO
DATE+TIME [MaintanceLogger] Name=<MT_NAME>, Status=<MT_STATUS>, Time=<MT_TIME>, Error=<MT_ERROR>, Details=<MT_DETAILS>

Rendimiento de solicitudes request-performance

La página Rendimiento de la Solicitud permite analizar las solicitudes de página más lentas procesadas. En esta página solo se registran solicitudes de contenido. Más específicamente, se capturan las siguientes solicitudes:

  1. Solicitudes de acceso a recursos bajo /content
  2. Solicitudes de acceso a recursos bajo /etc/design
  3. Solicitudes que tienen la extensión ".html"

chlimage_1-122

Se muestra la página:

  • Hora a la que se realizó la solicitud
  • La dirección URL y el método de solicitud
  • La duración en milisegundos

De forma predeterminada, se capturan las 20 solicitudes de página más lentas, pero el límite se puede modificar en el Administrador de configuración.

Rendimiento de consultas query-performance

La página Rendimiento de la Consulta permite analizar las consultas más lentas realizadas por el sistema. El repositorio proporciona esta información en un Mbean JMX. En Jackrabbit, el MBean JMX com.adobe.granite.QueryStat proporciona esta información, mientras que en el repositorio de Oak, la ofrece org.apache.jackrabbit.oak.QueryStats.

Se muestra la página:

  • Hora a la que se realizó la consulta
  • El idioma de la consulta
  • El número de veces que se emitió la consulta
  • El enunciado de la consulta
  • La duración en milisegundos

chlimage_1-123

Explicar la consulta explain-query

Para cualquier consulta determinada, Oak intenta averiguar la mejor manera de ejecutar en función de los índices de Oak definidos en el repositorio bajo el nodo oak:index. Oak puede elegir diferentes índices en función de la consulta. El primer paso para optimizar la consulta es comprender cómo ejecuta Oak una consulta.

Explicar consulta es una herramienta que explica cómo ejecuta Oak una consulta. AEM Se puede acceder a él desde Herramientas - Operaciones - Diagnóstico desde la pantalla de bienvenida de la pantalla de inicio de la sesión de la sesión de la sesión de la sesión de la sesión de bienvenida. A continuación, haga clic en Rendimiento de la consulta y cambie a la ficha Explicar consulta.

Características

  • Admite los lenguajes de consulta Xpath, JCR-SQL y JCR-SQL2
  • Notifica el tiempo de ejecución real de la consulta proporcionada
  • Detecta consultas lentas y advierte sobre consultas que podrían ser potencialmente lentas
  • Informa del índice de Oak utilizado para ejecutar la consulta
  • Muestra la descripción real del motor de consultas de Oak
  • Proporciona una lista de clics para cargar de consultas lentas y populares

Una vez que esté en la interfaz de usuario de Explicar consulta, ingrese la consulta y presione el botón Explicar:

chlimage_1-124

La primera entrada de la sección Explicación de la consulta es la explicación real. La explicación muestra el tipo de índice que se utilizó para ejecutar la consulta.

La segunda entrada es el plan de ejecución.

Al marcar la casilla Incluir tiempo de ejecución antes de ejecutar la consulta, también se muestra la cantidad de tiempo que se ejecutó la consulta. La opción Incluir recuento de nodos indica el recuento de nodos. El informe permite obtener más información que se puede utilizar para optimizar los índices de la aplicación o implementación.

chlimage_1-125

El Administrador de índices the-index-manager

El propósito del Administrador de índices es facilitar la administración de índices, como el mantenimiento de índices o la visualización de su estado.

Se puede acceder a él desde Herramientas - Operaciones - Diagnóstico ​ desde la pantalla de bienvenida y, a continuación, haciendo clic en el botón Administrador de índices.

También se puede obtener acceso a él directamente desde esta dirección URL: https://serveraddress:port/libs/granite/operations/content/diagnosistools/indexManager.html

administrador_índice

La interfaz de usuario se puede utilizar para filtrar índices en la tabla escribiendo los criterios de filtro en el cuadro de búsqueda en la esquina superior izquierda de la pantalla.

Descargar zip de estado download-status-zip

Esta acción almacena en déclencheur la descarga de un archivo zip que contiene información útil sobre el estado y la configuración del sistema. El archivo contiene configuraciones de instancia, una lista de paquetes, OSGI, métricas y estadísticas de Sling, que pueden dar como resultado un archivo grande. Puede reducir el impacto de los archivos de estado grandes mediante la ventana Descargar ZIP de estado. AEM Se puede acceder a la ventana desde:> Herramientas > Operaciones > Diagnóstico > ZIP de estado de descarga.

Desde esta ventana, puede seleccionar qué desea exportar (archivos de registro o volcados de procesos) y el número de días de registros incluidos en la descarga en relación con la fecha actual.

download_status_zip

Descargar volcados de procesos download-thread-dump

Esta acción almacena en déclencheur la descarga de un zip que contiene información sobre los hilos presentes en el sistema. Se proporciona información sobre cada subproceso, como su estado, el cargador de clases y el stacktrace.

Descargar volcado de pila download-heap-dump

Puede descargar una instantánea del montón para analizarla más adelante. Esta acción déclencheur la descarga de un archivo grande (de cientos de megabytes).

Tareas de mantenimiento automatizadas automated-maintenance-tasks

La página Tareas de mantenimiento automatizadas es un lugar en el que puede ver y realizar un seguimiento de las tareas de mantenimiento recomendadas programadas para su ejecución periódica. Las tareas están integradas con el sistema de comprobación de estado. Las tareas también se pueden ejecutar manualmente desde la interfaz.

AEM Para llegar a la página de mantenimiento en el tablero de operaciones, desde la pantalla de bienvenida de la, vaya a Herramientas - Operaciones - Tablero - Mantenimiento o siga directamente este vínculo:

https://serveraddress:port/libs/granite/operations/content/maintenance.html

Las siguientes tareas están disponibles en el tablero de operaciones:

  1. La tarea Limpieza de revisión, ubicada en el menú Ventana de mantenimiento diario.
  2. La tarea Limpieza de binarios de Lucene, ubicada en el menú Ventana de mantenimiento diario.
  3. La tarea Depurar flujo de trabajo, ubicada en el menú Ventana de mantenimiento semanal.
  4. La tarea Recopilación de residuos del almacén de datos, ubicada en el menú Ventana de mantenimiento semanal.
  5. La tarea Mantenimiento del registro de auditoría, ubicada en el menú Ventana de mantenimiento semanal.
  6. La tarea Mantenimiento de purga de versiones, ubicada en el menú Ventana de mantenimiento semanal.
  7. La tarea de mantenimiento Purga del proyecto, ubicada en el menú Ventana de mantenimiento semanal; con la opción Agregar.
  8. La tarea de mantenimiento Purgar tareas ad hoc, ubicada en el menú Ventana de mantenimiento semanal; con la opción Agregar.

El horario predeterminado para la ventana de mantenimiento diario es de 2:00 a.m. a 5:00 a.m. Las tareas configuradas para ejecutarse en la ventana de mantenimiento semanal se ejecutan entre la 1 y las 2 de la madrugada los sábados.

También puede configurar los horarios pulsando el icono de engranaje en cualquiera de las dos tarjetas de mantenimiento:

chlimage_1-126

NOTE
AEM A partir de la versión 6.1 de, las ventanas de mantenimiento existentes también se pueden configurar para que se ejecuten mensualmente.

Limpieza de revisión revision-clean-up

Para obtener más información, consulte Limpieza de revisión.

Limpieza de archivos binarios de Lucene lucene-binaries-cleanup

Mediante la tarea Limpieza de binarios de Lucene, puede depurar los binarios de Lucene y reducir el requisito de tamaño del almacén de datos en ejecución. La pérdida binaria de Lucene se reclama a diario en lugar de la dependencia anterior de una ejecución correcta de recolección de elementos no utilizados del almacén de datos.

Aunque la tarea de mantenimiento se desarrolló para reducir la basura de revisiones relacionada con Lucene, hay mejoras generales de eficiencia al ejecutar la tarea:

  • La ejecución semanal de la tarea de recolección de elementos no utilizados del almacén de datos puede completarse más rápidamente.
  • AEM También puede mejorar ligeramente el rendimiento general de la.

AEM Puede acceder a la tarea Limpieza de binarios de Lucene desde: > Herramientas > Operaciones > Mantenimiento > Ventana de mantenimiento diario > Limpieza de binarios de Lucene.

Recopilación de datos almacenados desechables data-store-garbage-collection

Para obtener más información sobre la recolección de elementos no utilizados del almacén de datos, consulte la página de documentación de Recopilación de elementos no utilizados del almacén de datos.

Depuración de flujo de trabajo workflow-purge

Los flujos de trabajo también se pueden eliminar del Panel de mantenimiento. Para ejecutar la tarea Depuración del flujo de trabajo, haga lo siguiente:

  1. Haga clic en la página Ventana de mantenimiento semanal.
  2. En la página siguiente, haga clic en Reproducir en la tarjeta Depuración del flujo de trabajo.
NOTE
Para obtener información más detallada sobre el mantenimiento del flujo de trabajo, consulte Administración de instancias de flujo de trabajo.

Mantenimiento del registro de auditoría audit-log-maintenance

Para el mantenimiento del registro de auditoría, consulte la página de documentación independiente.

Depuración de la versión version-purge

Puede planificar la tarea de mantenimiento Depuración de versiones para que se eliminen automáticamente las versiones antiguas. Esta acción minimiza la necesidad de usar manualmente las herramientas de depuración de versiones. Puede programar y configurar la tarea Depuración de versiones si accede a Herramientas > Operaciones > Mantenimiento > Ventana de mantenimiento semanal y sigue estos pasos:

  1. Haga clic en Agregar.

  2. Elija Depuración de versión en el menú desplegable.

    version_purge_maintenancetask

  3. Para configurar la tarea Depuración de versiones, haga clic en el icono engranajes en la tarjeta de mantenimiento Depuración de versiones recién creada.

    version_purge_taskconfiguration

AEM Con la versión 6.4, puede detener la tarea de mantenimiento Depuración de versiones de la siguiente manera:

  • Automáticamente: Si la ventana de mantenimiento programado se cierra antes de que la tarea pueda completarse, la tarea se detiene automáticamente. Se reanudará cuando se abra la siguiente ventana de mantenimiento.
  • Manualmente: para detener manualmente la tarea, en la tarjeta de mantenimiento Depuración de versiones, haga clic en el icono Detener. En la siguiente ejecución, la tarea se reanudará de forma segura.
NOTE
Detener la tarea de mantenimiento significa suspender su ejecución sin perder el seguimiento del trabajo ya en curso.
CAUTION
Para optimizar el tamaño del repositorio, debe ejecutar la tarea de depuración de versiones con frecuencia. La tarea debe programarse fuera del horario laboral cuando haya una cantidad limitada de tráfico.

Depuración del proyecto project-purge

Configure las propiedades OSGI en Configuración de depuración de proyectos de Adobe (com.adobe.cq.projects.purge.Scheduler).

Depuración de tareas específicas purge-of-ad-hoc-tasks

Configure las propiedades de OSGI en Purga de tareas ad hoc (com.adobe.granite.taskmanagement.impl.purge.TaskPurgeMaintenanceTask).

Tareas de mantenimiento personalizadas custom-maintenance-tasks

Las tareas de mantenimiento personalizadas se pueden implementar como servicios OSGi. Como la infraestructura de tareas de mantenimiento se basa en la administración de trabajos de Apache Sling, una tarea de mantenimiento debe implementar la interfaz Java™ [org.apache.sling.event.jobs.consumer.JobExecutor](https://sling.apache.org/apidocs/sling7/org/apache/sling/event/jobs/consumer/JobExecutor.html). Además, debe declarar varias propiedades de registro de servicio para que se detecten como una tarea de mantenimiento, como se muestra a continuación:

Nombre de propiedad de servicio
Descripción
Ejemplo
Tipo
granite.maintenance.isStoppable
Atributo booleano que define si el usuario puede detener la tarea. Si una tarea declara que se puede detener, debe comprobar durante su ejecución si se ha detenido y, a continuación, actuar en consecuencia. El valor predeterminado es false.
true
Opcional
granite.maintenance.mandatory
Atributo booleano que define si una tarea es obligatoria y debe ejecutarse periódicamente. Si una tarea es obligatoria pero actualmente no se encuentra en ninguna ventana de programación activa, una comprobación de estado informará de este error. El valor predeterminado es false.
true
Opcional
granite.maintenance.name
Un nombre único para la tarea: el nombre se utiliza para hacer referencia a la tarea y es solo un nombre simple.
MyMaintenanceTask
Requerido
granite.maintenance.title
Título mostrado para esta tarea
Mi tarea de mantenimiento especial
Requerido
job.topics
Tema único de la tarea de mantenimiento.
La administración de trabajos de Apache Sling inicia un trabajo con exactamente este tema para ejecutar la tarea de mantenimiento y, a medida que la tarea se registra para este tema, se ejecuta.
: el tema debe comenzar con com/adobe/granite/maintenance/job/
com/adobe/granite/maintenance/job/MyMaintenanceTask
Requerido

Aparte de las propiedades del servicio anteriores, el método process() de la interfaz JobConsumer debe implementarse agregando el código que debe ejecutarse para la tarea de mantenimiento. El(la) JobExecutionContext proporcionado(a) se puede usar para generar información de estado, comprobar si el usuario detuvo el trabajo y crear un resultado (correcto o fallido).

Para las situaciones en las que una tarea de mantenimiento no se debe ejecutar en todas las instalaciones (por ejemplo, ejecutar solo en la instancia de publicación), puede hacer que el servicio requiera que una configuración esté activa agregando @Component(policy=ConfigurationPolicy.REQUIRE). A continuación, puede marcar la configuración correspondiente como dependiente del modo de ejecución en el repositorio. Para obtener más información, consulte Configuración de OSGi.

A continuación se muestra un ejemplo de una tarea de mantenimiento personalizada que elimina archivos de un directorio temporal configurable que se han modificado en las últimas 24 horas:

src/main/java/com/adobe/granite/samples/maintenance/impl/DeleteTempFilesTask.java

/*

* #%L

* sample-maintenance-task

* %%

* Copyright (C) 2014 Adobe

* %%

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

*

* https://www.apache.org/licenses/LICENSE-2.0

*

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS,

* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License.

* #L%

*/

``

package com.adobe.granite.samples.maintenance.impl;

``

import java.io.File;

import java.util.Calendar;

import java.util.Collection;

import java.util.Map;

``

import org.apache.commons.io.FileUtils;

import org.apache.commons.io.filefilter.IOFileFilter;

import org.apache.commons.io.filefilter.TrueFileFilter;

import org.apache.felix.scr.annotations.Activate;

import org.apache.felix.scr.annotations.Component;

import org.apache.felix.scr.annotations.Properties;

import org.apache.felix.scr.annotations.Property;

import org.apache.felix.scr.annotations.Service;

import org.apache.sling.commons.osgi.PropertiesUtil;

import org.apache.sling.event.jobs.Job;

import org.apache.sling.event.jobs.consumer.JobConsumer;

import org.apache.sling.event.jobs.consumer.JobExecutionContext;

import org.apache.sling.event.jobs.consumer.JobExecutionResult;

import org.apache.sling.event.jobs.consumer.JobExecutor;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

``

import com.adobe.granite.maintenance.MaintenanceConstants;

``

@Component(metatype = true,

label = "Delete Temp Files Maintenance Task",

description = "Maintatence Task which deletes files from a configurable temporary directory which have been modified in the last 24 hours.")

@Service

@Properties({

@Property(name = MaintenanceConstants.PROPERTY_TASK_NAME, value = "DeleteTempFilesTask", propertyPrivate = true),

@Property(name = MaintenanceConstants.PROPERTY_TASK_TITLE, value = "Delete Temp Files", propertyPrivate = true),

@Property(name = JobConsumer.PROPERTY_TOPICS, value = MaintenanceConstants.TASK_TOPIC_PREFIX

+ "DeleteTempFilesTask", propertyPrivate = true) })

public class DeleteTempFilesTask implements JobExecutor {

``

private static final Logger log = LoggerFactory.getLogger(DeleteTempFilesTask.class);

``

@Property(label = "Temporary Directory", description="Temporary Directory. Defaults to the java.io.tmpdir system property.")

private static final String PROP_TEMP_DIR = "temp.dir";

``

private File tempDir;

``

@Activate

private void activate(Map<string, object=""> properties) {

this.tempDir = new File(PropertiesUtil.toString(properties.get(PROP_TEMP_DIR),

System.getProperty("java.io.tmpdir")));

}

``

@Override

public JobExecutionResult process(Job job, JobExecutionContext context) {

log.info("Deleting old temp files from {}.", tempDir.getAbsolutePath());

Collection<file> files = FileUtils.listFiles(tempDir, new LastModifiedBeforeYesterdayFilter(),

TrueFileFilter.INSTANCE);

int counter = 0;

for (File file : files) {

log.debug("Deleting file {}.", file.getAbsolutePath());

counter++;

file.delete();

// TODO - capture the output of delete() and do something useful with it

}

return context.result().message(String.format("Deleted %s files.", counter)).succeeded();

}

``

/**

* IOFileFilter which filters out files which have been modified in the last 24 hours.

*

*/

private static class LastModifiedBeforeYesterdayFilter implements IOFileFilter {

``

private final long minTime;

``

private LastModifiedBeforeYesterdayFilter() {

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DATE, -1);

this.minTime = cal.getTimeInMillis();

}

``

@Override

public boolean accept(File dir, String name) {

// this method is never actually called.

return false;

}

``

@Override

public boolean accept(File file) {

return file.lastModified() <= this.minTime;

}

}

``

}

<file></string,>

experiencemanager-java-maintenancetask-sample- src/main/java/com/adobe/granite/samples/maintenance/impl/DeleteTempFilesTask.java

Una vez implementado el servicio, se expone a la interfaz de usuario del tablero de operaciones. Puede añadirlo a uno de los programas de mantenimiento disponibles:

chlimage_1-127

Esta acción agrega el recurso correspondiente en /apps/granite/operations/config/maintenance/schedule/taskname. Si la tarea depende del modo de ejecución, la propiedad granite.operations.conditions.runmode debe configurarse en ese nodo con los valores de los modos de ejecución que deben estar activos para esta tarea de mantenimiento.

Información general del sistema system-overview

AEM El Tablero de información general del sistema muestra información general de alto nivel sobre la configuración, el hardware y el estado de la instancia de. El estado del sistema es transparente y toda la información se agrega en un solo tablero.

NOTE
También puedes ver este vídeo para ver una introducción al Panel de información general del sistema.

Cómo Acceder A how-to-access

Para acceder al Panel de información general del sistema, vaya a Herramientas > Operaciones > Información general del sistema.

system_overview_dashboard

Tablero de información general del sistema explicado system-overview-dashboard-explained

En la tabla siguiente se describe toda la información mostrada en el tablero de información general del sistema. Cuando no hay información relevante que mostrar (por ejemplo, la copia de seguridad no está en curso, no hay comprobaciones de estado críticas), la sección correspondiente muestra el mensaje "Sin entradas".

También puede descargar un archivo de JSON que resuma la información del panel haciendo clic en el botón Descargar en la esquina superior derecha del panel. El extremo JSON es /libs/granite/operations/content/systemoverview/export.json y se puede usar en un script curl para la supervisión externa.

Sección
Qué información se muestra
¿Cuándo es crítico?
Vínculos a
Comprobación del estado
  • una lista de comprobaciones en estado crítico
  • una lista de comprobaciones en estado de advertencia

Indicado visualmente:

  • una etiqueta roja para las comprobaciones críticas
  • una etiqueta naranja para las comprobaciones de advertencia
  • Página Informes de estado
Tareas de mantenimiento
  • una lista de tareas que han fallado
  • una lista de tareas que se están ejecutando actualmente
  • una lista de tareas que se realizaron correctamente en la última ejecución
  • una lista de tareas que nunca se han ejecutado
  • una lista de tareas no programadas

Indicado visualmente:

  • una etiqueta roja para las tareas fallidas
  • una etiqueta naranja para ejecutar tareas (ya que podrían afectar al rendimiento).
  • etiquetas grises cada dos estados
  • Página Tareas de Mantenimiento
Sistema
  • sistema operativo y versión del sistema operativo (por ejemplo, macOS X)
  • promedio de carga del sistema, recuperado de OperatingSystemMXBeanusable
  • espacio en disco (en la partición donde se encuentra el directorio particular)
  • montón máximo, devuelto por MemoryMXBean
N/D
N/D
Instancia
  • AEM la versión de la
  • lista de modos de ejecución
  • la fecha en la que se inició la instancia
N/D
N/D
Repositorio
  • la versión de Oak

  • Tipo de almacén de nodos (Segment TAR o Document)

    • si el tipo es documento, se muestra el tipo de almacén de documentos (RDB o Mongo)
  • si hay un almacén de datos personalizado:

    • para un almacén de datos de archivos, se muestra la ruta
    • para un almacén de datos S3, se muestra el nombre del contenedor S3
    • para un almacén de datos compartidos de S3, se muestra el nombre del contenedor de S3
    • para un almacén de datos de Azure, se muestra el contenedor
  • si no hay ningún almacén de datos externo personalizado, se muestra un mensaje que indica este hecho

N/D
N/D
Agentes de distribución
  • una lista de agentes con colas bloqueadas
  • una lista de agentes mal configurados ("Error de configuración")
  • una lista de agentes con el procesamiento de cola en pausa
  • una lista de agentes inactivos
  • una lista de agentes en ejecución (que están procesando entradas actualmente)

Indicado visualmente:

  • una etiqueta roja para agentes bloqueados o errores de configuración
  • una etiqueta naranja para los agentes en pausa
  • una etiqueta gris para los agentes en pausa, inactivos o en ejecución
Página de distribución
Agentes de replicación
  • una lista de agentes con colas bloqueadas
  • una lista de agentes inactivos
  • una lista de agentes en ejecución (que están procesando entradas actualmente)

Indicado visualmente:

  • una etiqueta roja para los agentes bloqueados
  • una etiqueta gris para los agentes en pausa
Página Replicación
Flujos de trabajo
  • Trabajos de flujo:

    • número de trabajos de flujo de trabajo con errores (si los hay)
    • número de trabajos de flujo de trabajo cancelados (si los hay)
  • Recuentos de flujos de trabajo: número de flujos de trabajo en un estado determinado (si los hay):

    • corriente
    • error
    • suspendido
    • abortado

Para cada uno de los estados presentados arriba se realiza una consulta, con un límite de 400 milisegundos. A los 400 milisegundos, se muestra el número de entradas obtenidas hasta ese momento.

No interpretado:

  • el usuario debe investigar cuando haya flujos de trabajo y trabajos en estados inesperados.
Página Errores de flujo de trabajo
Trabajos de Sling

Recuentos de trabajos de Sling: número de trabajos en un estado determinado (si los hay):

  • error
  • en cola
  • cancelado
  • activo

No interpretado:

  • el usuario debe investigar cuando haya trabajos en estados inesperados o con recuentos altos.
N/D
Número aproximado de nodos

Número estimado de:

  • páginas
  • activos
  • etiquetas
  • autorizables
  • número total de nodos

El número total de nodos se obtiene de nodeCounterMBean, mientras que el resto de las estadísticas se obtienen de IndexInfoService.

N/D
N/D
Copia de seguridad
Muestra "Copia de seguridad en línea en curso" si es así.
N/D
N/D
Indexación

Muestra:

  • "Indexación en curso"
  • "Consulta en curso"

Si hay un subproceso de indexación o consulta en el volcado de hilos.

N/D
N/D
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2