Esta página ha sido traducida por una máquina.

Análisis de registros de log con varios registros de hora

Algunos registros de log pueden tener varios registros de hora, como la hora de entrada del log, la hora de inicio y la hora de finalización de un proceso o transacción que quizás desee capturar en sus propios campos. Después de capturar la hora de inicio y de finalización en sus propios campos, puede utilizar el comando eval para realizar la manipulación de fecha en estos campos, por ejemplo, para obtener la duración entre las dos horas. Consulte eval.

Oracle Logging Analytics tiene varios campos definidos por Oracle que permiten almacenar información de fecha y hora que no son la hora real de entrada del log:

  • Hora de finalización de evento

  • Hora de inicio de evento

  • Hora de generación de eventos

  • Tiempo de primer evento

  • Hora de finalización de contacto

  • Hora de inicio del contrato

  • Hora de alerta emitida

  • Tiempo de recopilación

  • Hora de detección

Los datos almacenados en estos campos deben tener el formato ISO-8601:

2018-07-04T23:43:34.000Z

Al crear el analizador, puede utilizar la macro {TIMEDATE} una sola vez para expresar la hora de entrada del log. Para los campos de tiempo adicionales, debe extraer los datos mediante uno de los siguientes métodos, según el caso de uso concreto.

Caso 1: Su log ya tiene la información de fecha y hora en formato ISO-8601

Si el log ya tiene información adicional de fecha y hora en formato ISO-8601, puede extraerlas como cadenas en el analizador base de definición de campo ampliado.

Considere el log de ejemplo siguiente:

July 4, 2018 23:43:12 Server1 ModuleA Transaction completed. Start=2018-07-04T23:45:34.000Z, End=2018-07-04T23:46:39.000Z

El log contiene información de fecha y hora para la entrada del log, la hora de inicio y la hora de finalización.

  1. Para obtener la hora de entrada del log, cree el analizador base. Consulte Creación de un analizador.

    {TIMEDATE}\s(\S+)\s(\S+)\s(.*)
  2. Abra el cuadro de diálogo Crear origen. Consulte Creación de un origen.

  3. Seleccione el analizador base creado en el paso 1.

  4. Proporcione la ruta de acceso del archivo para el log de ejemplo.

  5. En el separador Campos ampliados, agregue las definiciones de campos ampliados al origen de log para extraer los campos de fecha y hora:

    • En el campo Mensaje: Start={Event Start Time:\S+}

    • En el campo Mensaje: End={Event End Time:\S+}

  6. Guarde el nuevo origen creado.



Ahora observará que los dos campos Hora de inicio de evento y Hora de finalización de evento se rellenan con los valores del log. En el explorador de logs, puede ver las horas como milisegundos desde la época.

Caso 2: Su log no tiene la información de fecha y hora en formato ISO-8601

Si los campos de tiempo adicionales que desea extraer no tienen el formato ISO-8601, debe seguir estos pasos para el análisis:

Tenga en cuenta el archivo log de ejemplo en el que todo el archivo sea una entrada de log única:

+---------------------------------------------------------------------------+
Application Object Library: Version : 12.2
Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
FNDWFBG: Workflow Background Process
+---------------------------------------------------------------------------+
Current system time is 04-JUL-2018 17:25:23
+---------------------------------------------------------------------------+
**Starts**04-JUL-2018 17:25:23
**Ends**04-JUL-2018 18:25:23
+---------------------------------------------------------------------------+
Start of log messages from FND_FILE
+---------------------------------------------------------------------------+
+---------------------------------------------------------------------------+
End of log messages from FND_FILE
+---------------------------------------------------------------------------+
Successfully resubmitted concurrent program FNDWFBG with request ID 239834523 to start at 04-JUL-2018 18:30:23 (ROUTINE=IERKWEP)
+---------------------------------------------------------------------------+
No completion options were requested.
Output file size: 
0
Output is not being printed because:
The print option has been disabled for this report.
+---------------------------------------------------------------------------+
Concurrent request completed successfully
Current system time is 04-JUL-2018 18:30:23
+---------------------------------------------------------------------------+
  1. Cree el analizador base. Consulte Creación de un analizador.

    .*?Current system time is {TIMEDATE}.*\*\*Starts\*\*([\S\ ]+).*?\*\*Ends\*\*([\S\ ]+).*

    Los campos que debe seleccionar para el análisis son:

    • Versión

    • Hora de inicio de evento

    • Hora de finalización de evento

    Para el log de ejemplo anterior, active la casilla de control Gestionar el archivo entero como registro de log único. No se requiere expresión regular de cabecera.

  2. Abra el cuadro de diálogo Crear origen de log. Consulte Creación de un origen.

  3. Seleccione el analizador base creado en el paso 1.

  4. Proporcione la ruta de acceso del archivo para el log de ejemplo.

  5. Vaya al separador Filtros de datos.

  6. Convierta la abreviatura de mes en número:

    Si el log ya tiene un número de mes numérico en lugar de un nombre de mes, puede omitir este paso e ir al paso 7.

    Si el log tiene el nombre abreviado del mes en lugar del número de mes, para convertir el nombre abreviado del mes al número de mes, agregue doce filtros de datos del tipo MASK.

    Para cada mes natural, el filtro de datos tendrá detalles similares a los del mes de enero siguiente:

    • Nombre: Jan to 01

    • Tipo: Mask

    • Expresión de búsqueda: (\*\*\w+\*\*\d{2}-)(JAN)(-\d{4})

    • Expresión de sustitución: $101$3



    La máscara de datos encuentra incidencias del patrón de tiempo en el log:

    **Starts**04-JAN-2018 17:25:23

    Captura los datos antes de JAN, el valor JAN y los datos después de JAN en tres grupos de captura. Los grupos de captura se indican con los tres pares de paréntesis ( ).

    A continuación, en la expresión de sustitución, el valor del primer grupo de captura se sustituye por $1, el valor JAN se sustituye por 01 y el tercer grupo de captura se sustituye por $3.

    Después de implantar el filtro de datos, la información de tiempo y datos aparece de la siguiente manera:

    **Starts**04-01-2018 17:25:23
  7. Reescriba la información de fecha y hora en formato ISO-8601:

    Ahora que la información de fecha y hora está disponible en el tipo de datos correcto, vuelva a escribir los datos de fecha y hora en formato ISO-8601 mediante dos filtros de datos para el log de ejemplo:

    Estos dos filtros de datos se deben colocar después de los doce filtros de datos creados para convertir el nombre abreviado del mes al número de mes. Esto garantizará que el formato de datos de fecha y hora se evalúe después de que el nombre abreviado del mes se convierta en número de mes. Utilice las flechas hacia arriba y hacia abajo para cambiar el orden de los filtros de datos.

    Cree los dos filtros de datos siguientes para convertir los datos de hora de inicio y hora de finalización al formato ISO-8601:

      • Nombre: Change shape of Starts

      • Tipo: Mask

      • Expresión de búsqueda: \*\*Starts\*\*(\d+)-(\d+)-(\d{4})\s(\d{2}:\d{2}:\d{2})

      • Expresión de sustitución: \*\*Starts\*\*$3-$2-$1T$4.000Z

      • Nombre: Change shape of Ends

      • Tipo: Mask

      • Expresión de búsqueda: \*\*Ends\*\*(\d+)-(\d+)-(\d{4})\s(\d{2}:\d{2}:\d{2})

      • Expresión de sustitución: \*\*Ends\*\*$3-$2-$1T$4.000Z



    En la expresión de búsqueda, se captura cada elemento de fecha y hora. En la expresión de sustitución, se cambia el orden de los elementos de fecha y hora. Los valores $1, $2, $3 y $4 se corresponden con los grupos de captura de la expresión find. Los grupos de captura se indican con los pares de paréntesis ( ).

    El valor estático .000Z se agrega en la expresión de sustitución para almacenar el valor de fecha y hora en el campo. De esta forma, se identifica de forma eficaz la hora y la fecha en la zona horaria de hora universal coordinada (UTC). Si la entrada del log se encontraba en la zona horaria de la hora estándar del Pacífico (PST), su zona horaria se cambia artificialmente a UTC, pero sin el cambio real en la hora.

    Nota

    Actualmente, no es posible cambiar el valor de fecha y hora a una zona horaria diferente en el momento de la ingesta. Sin embargo, puede hacerlo desde el explorador de logs mediante el comando eval:
    • Una vez almacenada la hora de inicio y finalización del evento, reste la hora de finalización del evento a la hora de inicio del evento para obtener la duración del evento.

    • Sume o reste la duración de la diferencia de tiempo entre las zonas horarias calculadas en milisegundos.

    • Convierta la salida del número de milisegundos al formato de fecha y hora.

    Consulte eval.
  8. En el separador Campos ampliados, agregue las definiciones de campos ampliados al origen de log para extraer los campos de fecha y hora:

    • En el campo Mensaje: \*\*Starts\*\*{Event Start Time:\S+}

    • En el campo Mensaje: \*\*Ends\*\*{Event Start Time:\S+}

  9. Guarde el nuevo origen de log que ha creado.



Ahora puede observar que los dos campos Hora de inicio de evento y Hora de finalización de evento se rellenan con los valores de fecha y hora del log. En el explorador de logs, puede ver las horas como milisegundos desde la época.

¿Le ha resultado útil este artículo?