Recopiladores de registros Logstash

Liberty genera distintos sucesos durante el tiempo de ejecución como, por ejemplo, sucesos de registro, sucesos de rastreo, sucesos de captura de datos en primer error (FFDC), sucesos de registro de accesos y sucesos de recogida de basura. Es útil consolidar sucesos de todos los servidores, de forma que los sucesos se puedan buscar, filtrar y analizar, en especial cuando se gestionan muchos servidores o cuando se ejecutan servidores en distintas plataformas (por ejemplo, en hardware dedicado en IBM Cloud). También puede ser útil almacenar sucesos en un servidor independiente en los casos donde se utiliza Liberty en entornos que carecen de almacenamiento de archivos permanente para los datos de determinación de problemas.

Liberty proporciona la característica de recopilar de registros Logstash para ayudarle a consolidar sucesos de forma remota. Los recopiladores capturan sucesos en directo, los segmentan en campos y envían, de forma segura, los sucesos al servidor de recopilación de registros Logstash . Los recopiladores se pueden configurar para enviar uno o más de los tipos de datos siguientes:

  • Sucesos de registro de mensajes
  • Sucesos de registro de rastreo
  • Sucesos de registro de accesos HTTP (del servidor Liberty)
  • Sucesos de registro FFDC
  • Sucesos de recogida de basura (disponible solo para IBM JDK)

Recopilador logstash

La característica de recopilador Logstash (logstashCollector-1.0) envía sucesos a un servidor Logstash que proporcione.

Logstash puede utilizarse con el servidor de búsqueda Elasticsearch y el panel de control Kibana, todo lo cual el usuario proporciona, configura y gestiona, para proporcionar una vista consolidada de registros u otros sucesos a través de toda la empresa. No es necesario configurar procesos o agentes separados en el sistema del servidor Liberty para el recopilador Logstash para enviar sucesos.

Estructura de suceso

Un recopilador envía cada suceso como un conjunto de pares de nombre-valor de campo. Cada tipo diferente de suceso tiene su propio conjunto de campos. Es útil conocer qué campos tiene cada suceso cuando se crean los paneles de control Kibana propios.

Los campos siguientes son comunes y están presentes en todos los sucesos:
Tabla 1. Tipos de sucesos comunes
Nombre de campo de logstashCollector-1.0 Descripción de campo
type Una serie que identifica el tipo de suceso
datetime Hora cuando se produjo el suceso
hostName Nombre de host del servidor que fue el origen del suceso

Si desea más información sobre las reglas para establecer el nombre de host, consulte Utilización de recopiladores de registro con Liberty en ejecución en Docker.

wlpUserDir Directorio de usuario del servidor que fue el origen del suceso, por ejemplo, D:\wlp\usr
nombre_servidor Nombre de servidor del servidor que fue el origen del suceso

Si desea más información sobre las reglas para establecer el nombre del servidor, consulte Utilización de recopiladores de registro con Liberty en ejecución en Docker

sequence Número de secuencia de suceso (útil para ordenar registros con la misma indicación de fecha y hora)
[17.0.0.1 and later]tags [17.0.0.1 and later]Las etiquetas que están asociadas al servidor desde el cual se ha originado el suceso
Además de los campos comunes, cada uno de los tipos de suceso también tiene sus propios campos exclusivos:
  • Sucesos de mensaje
    Tabla 2. Sucesos de mensaje (tipo: "liberty_message")
    Nombre de campo de logstashCollector-1.0 Descripción de campo
    severity Indicador de gravedad (F = Muy grave, E = Error, W = Aviso A = Auditoría, I = Info, O = Salida de sistema, R = Error de sistema)
    messageId ID de mensaje en la línea de registro, que se puede utilizar para descubrir tipos de errores específicos, por ejemplo, SRVE0250I
    methodName Nombre de método de la entrada de registro
    className Nombre de clase de la entrada de registro
    loggerName Nombre de registrador de la entrada de registro
    threadId ID de hebra en la línea de registro, por ejemplo, 00000015. El ID de hebra es una serie y no un número
    message El mensaje de la entrada de registro, que empieza con el ID de mensaje
    [16.0.0.4 and later]Nota: Además de la infraestructura de registro y rastreo predeterminada, el recopilador Logstash reenvía sucesos de mensaje cuando el registro binario está habilitado.
  • Sucesos de rastreo
    Tabla 3. Sucesos de rastreo (tipo: "liberty_trace")
    Nombre de campo de logstashCollector-1.0 Descripción de campo
    severity Indicador de gravedad (1 = Preciso, 2 = Más preciso, 3 = Lo más preciso, > = Entrada, < = Salida)
    methodName Nombre de método de la entrada de registro
    className Nombre de clase de la entrada de registro
    loggerName Nombre de registrador de la entrada de registro
    threadId ID de hebra en la línea de registro, por ejemplo, 00000015. El ID de hebra es una serie y no un número
    message El mensaje de la entrada de registro
    [16.0.0.4 and later]Nota: Además de la infraestructura de registro y rastreo predeterminada, el recopilador Logstash reenvía sucesos de rastreo cuando el registro binario está habilitado.
  • Sucesos de registro de acceso HTTP
    Tabla 4. Sucesos de registro de accesos HTTP (tipo: "liberty_accesslog")
    Nombre de campo de logstashCollector-1.0 Descripción de campo
    uriPath Información de vía de acceso para el URL solicitado. Esta información de vía de acceso no contiene los parámetros de consulta, por ejemplo, /pushworksserver/ push/apps/tags.
    requestMethod Verbo HTTP, por ejemplo, GET
    remoteHost Dirección IP del host remoto, por ejemplo, 127.0.0.1
    userAgent El valor de userAgent en la solicitud
    requestProtocol Tipo de protocolo, por ejemplo, HTTP/1.1
    queryString Serie que representa la serie de consulta de la solicitud HTTP, por ejemplo, color=blue&size=large
    bytesReceived Bytes recibidos en el URL, por ejemplo, 94
    responseCode Código de respuesta HTTP, por ejemplo, 200
    elapsedTime Tiempo invertido en prestar servicio a la solicitud, en microsegundos
    requestHost Dirección IP del host de la solicitud, por ejemplo, 127.0.0.1
    requestPort Número de puerto de la solicitud
  • Sucesos FFDC
    Tabla 5. Sucesos FFDC (tipo: "liberty_ffdc")
    Nombre de campo de logstashCollector-1.0 Descripción de campo
    className La clase que ha emitido la entrada FFDC
    exceptionName La excepción que se ha notificado en la entrada FFDC
    probeID El identificador exclusivo del punto FFDC dentro de la clase
    stackTrace El seguimiento de la pila del incidente FFDC
    objectDetails Los detalles del incidente para el incidente FFDC
    threadId El ID de hebra del incidente FFDC
  • Sucesos de recogida de basura
    Tabla 6. Sucesos de recogida de basura (tipo: "liberty_gc")
    Nombre de campo de logstashCollector-1.0 Descripción de campo
    heap El almacenamiento dinámico total disponible actualmente
    usedHeap La cantidad de almacenamiento dinámico utilizado
    [17.0.0.1 and later]maxHeap [17.0.0.1 and later]El almacenamiento dinámico máximo que permite la JVM
    duration La duración de la recogida de basura que se ha ejecutado, en microsegundos
    gcType El tipo de suceso de recogida de basura (por ejemplo, Nursery, Global)
    reason La razón de la recogida de basura

Utilización de recopiladores de registro con Liberty en ejecución en Docker

Para ejecutar servidores Liberty en contenedores Docker u otros entornos virtualizados, los valores de hostName y serverName se establecen de la siguiente manera:

El campo hostName se establece en el primero de los valores siguientes que está disponible:
  • El valor de la variable de entorno CONTAINER_HOST
  • El valor de la variable de configuración ${defaultHostName} Liberty
  • El nombre de host canónico según el kit de desarrollo de software (JDK)
El campo serverName se establece en el primero de los valores siguientes que está disponible:
  • El valor de la variable de entorno CONTAINER_NAME
  • El valor de la variable de configuración ${wlp.server.name} Liberty

Cuando el servidor Liberty se ejecuta en el servicio de contenedor de IBM Cloud, las variables CONTAINER_HOST y CONTAINER_NAME ya se han establecido automáticamente.

Cuando los servidores Liberty se ejecutan en colectivos Docker de Liberty, los valores CONTAINER_HOST y CONTAINER_NAME ya se han establecido automáticamente.

Al ejecutar servidores Liberty en contenedores Docker u otros entornos viruales que gestione, establezca las variables de entorno CONTAINER_HOST y CONTAINER_NAME cuando se ejecuta la imagen. Estas variables de entorno garantizan que las etiquetas del recopilador de registro con la que envían los registros tienen el nombre de contenedor y host apropiados, lo cual resulta de ayuda en la determinación de problemas. Si no establece estas variables de entorno, podría encontrar difícil determinar qué contenedor ha enviado sucesos al utilizar un panel de control que muestra sucesos de varios contenedores. Al iniciar un contenedor Docker, utilice un mandato similar al siguiente:
docker run -d -e LICENSE=accept -e
CONTAINER_NAME=nombre de su
contenedor -e
CONTAINER_HOST=host de su
contenedor
--name=nombre de su contenedor
nombre de su imagen

Icono que indica el tipo de tema Tema de concepto

Nombre de archivo: cwlp_analytics_collectors.html