Accede a la Vista previa.

Log Workspaces está en Vista previa.

Request Access

Información general

Durante la investigación de un incidente, es posible que necesites ejecutar consultas complejas, como combinar atributos de varias fuentes de logs o transformar datos de logs para analizar tus logs. Utiliza Log Workspaces para ejecutar consultas:

  • Correlacionar múltiples fuentes de datos
  • Agregar varios niveles de datos
  • Unir datos de varias fuentes de logs y otros conjuntos de datos
  • Extraer datos o añadir un campo calculado en el momento de la consulta
  • Añadir visualizaciones a tus conjuntos de datos transformados

Crear un espacio de trabajo y añadir una fuente de datos

Puedes crear un espacio de trabajo desde la página de Workspaces o desde el Explorador de logs.

En la página de Log Workspaces:

  1. Haz clic en New Workspace (Nuevo espacio de trabajo).
  2. Haz clic en el cuadro Data source (Fuente de datos).
  3. Introduce una consulta. Los atributos reservados de los logs filtrados se añaden como columnas.

En el Explorador de logs:

  1. Introduce una consulta.
  2. Haz clic en More (Más), junto a Descargar como CSV, y seleccione Abrir en espacio de trabajo.
  3. El espacio de trabajo añade la consulta del log a una celda de origen de datos. Por defecto, las columnas del Explorador de logs se añaden a la celda de origen de datos.

Añadir una columna a tu espacio de trabajo

Ejemplo de celda de un espacio de trabajo, con un panel lateral de información abierto donde se resalta la opción para añadir un atributo como columna

Además de las columnas predeterminadas, puedes añadir tus propias columnas a tu espacio de trabajo:

  1. En la celda de tu espacio de trabajo, haz clic en un log para abrir el panel lateral de información.
  2. Haz clic en el atributo que quieres añadir como columna.
  3. En la opción emergente, selecciona Añadir “@tu_columna” al conjunto de datos de “tu espacio de trabajo”.

Analizar, transformar y visualizar tus logs

Puedes añadir las siguientes celdas para:

  • Incluir fuentes de datos adicionales, como tablas de referencia
  • Utilizar SQL para vincular datos
  • Transformar, correlacionar y visualizar los datos

Las celdas que dependen de otras se actualizan automáticamente cuando se modifica una de las celdas de las que dependen.

En la parte inferior de tu espacio de trabajo, haz clic en cualquiera de los cuadros de celdas para añadirlas a tu espacio de trabajo. Después de añadir una celda, puedes hacer clic en el conjunto de datos en el lado izquierdo de la página de tu espacio de trabajo para ir directamente a esa celda.

Celda de origen de datos

Puedes añadir una consulta de logs o una tabla de referencia como fuente de datos.

  1. Haz clic en el cuadro Data source (Fuente de datos).
    • Para añadir una tabla de referencia:
      1. Selecciona Tabla de referencia en el desplegable Fuente de datos.
      2. Seleccione la tabla de referencia que quieres utilizar.
    • Para añadir una fuente de datos de logs:
      1. Introduce una consulta. Los atributos reservados de los logs filtrados se añaden como columnas.
      2. Haz clic en datasource_x (fuente_de_datos_x) en la parte superior de la celda para cambiar el nombre de la fuente de datos.
      3. Haz clic en Columns (Columnas) para ver las columnas disponibles. Haz clic en as (como) en una columna para añadir un alias.
      4. Para añadir columnas adicionales al conjunto de datos:
        a. Haga clic en un log. b. Haz clic en el engranaje situado junto a la faceta que quieres añadir como columna.
        c. Selecciona Añadir… a….conjunto de datos.
  2. Haz clic en el icono de descarga para exportar el conjunto de datos como CSV.

Célula de análisis

  1. Haz clic en el cuadro Analysis (Análisis) para añadir una celda y utilizar SQL para consultar los datos de cualquiera de las fuentes de datos. Puedes utilizar el lenguaje natural o SQL para consultar los datos. Ejemplo de uso del lenguaje natural: select only timestamp, customer id, transaction id from the transaction logs.
  2. Si utilizas SQL, haz clic en Run (Ejecutar) para ejecutar los comandos SQL.
  3. Haz clic en el icono de descarga para exportar el conjunto de datos como CSV.

Célula de visualización

Añade la celda Visualización para mostrar tus datos como:

  • Tabla
  • Lista principal
  • Series temporales
  • Mapa de árbol
  • Gráfico circular
  • Gráfico de dispersión
  1. Haz clic en el cuadro Visualization (Visualización).
  2. Selecciona la fuente de datos que quieres visualizar en el menú desplegable Conjunto de datos fuente.
  3. Selecciona tu método de visualización en el menú desplegable Visualizar como.
  4. Introduce un filtro si quieres filtrar por un subconjunto de datos. Por ejemplo, status:error. Si utilizas una celda de análisis como fuente de datos, también puedes filtrar primero los datos en SQL.
  5. Si quieres agrupar tus datos, haz clic en Add Aggregation (Añadir agregación) y selecciona la información por la que quieres agruparlos.
  6. Haz clic en el botón de descarga para exportar los datos como CSV.

Célula de transformación

Haz clic en el cuadro Transformation (Transformación) para añadir una celda para filtrar, agregar y extraer datos.

  1. Haz clic en el cuadro Transformation (Transformación).
  2. Selecciona la fuente de datos que quieres transformar en el menú desplegable Conjunto de datos fuente.
  3. Haz clic en el icono + (más) para añadir una función Filtrar, Analizar o Agregar.
    • Para Filtrar, añade una consulta de filtro para el conjunto de datos.
    • Para Analizar, introduce la sintaxis grok para extraer los datos en una columna separada. En el menú desplegable desde, selecciona la columna de la que se extraerán los datos. Consulta el ejemplo de extracción de columnas.
    • Para Agregar, selecciona en función de qué quieres agrupar los datos en los menús desplegables.
    • En Límite, introduce el número de filas del conjunto de datos que quieres visualizar.
  4. Haz clic en el icono de descarga para exportar el conjunto de datos a un CSV.

Ejemplo de extracción en columna

A continuación se muestra un conjunto de datos de ejemplo:

marca de tiempohostmensaje
29 de mayo 11:09:28.000shopist.internalPedido enviado para el cliente 21392
29 de mayo 10:59:29.000shopist.internalPedido enviado para el cliente 38554
29 de mayo 10:58:54.000shopist.internalPedido enviado para el cliente 32200

Utiliza la siguiente sintaxis grok para extraer el ID de cliente del mensaje y añadirlo a una nueva columna llamada customer_id:

Pedido enviado para el cliente %{notSpace:customer_id}``

Luego de la extracción, este es el conjunto de datos resultante en la celda de transformación:

marca de tiempohostmensajeid_cliente
29 de mayo 11:09:28.000shopist.internalPedido enviado para el cliente 2139221392
29 de mayo 10:59:29.000shopist.internalPedido enviado para el cliente 3855438554
29 de mayo 10:58:54.000shopist.internalPedido enviado para el cliente 3220032200

Celda de texto

Haz clic en la celda Text (Texto) para añadir una celda de markdown y poder añadir información y notas.

Ejemplo de espacio de trabajo

Conjuntos de datos del espacio de trabajo

Este ejemplo de espacio de trabajo tiene:

  • Tres fuentes de datos:

    • trade_start_logs
    • trade_execution_logs
    • trading_platform_users
  • Tres conjuntos de datos derivados, que son los resultados de los datos que se transformaron a partir del filtrado, la agrupación o la consulta mediante SQL:

    • parsed_execution_logs
    • transaction_record
    • transaction_record_with_names
  • Una visualización del mapa de árbol.

Este diagrama muestra las distintas celdas de transformación y análisis por las que pasan las fuentes de datos.

Gráfico de dispersión que muestra los pasos que siguen las fuentes de datos

Ejemplo de recorrido

El ejemplo comienza con dos fuentes de datos de logs:

  • trade_start_logs
  • trade_execution_logs

La siguiente celda del área de trabajo es la celda de transformación parsed_execution_logs. Utiliza la siguiente sintaxis de análisis grok para extraer el ID de transacción de la columna message del conjunto de datos trade_execution_logs y añade el ID de transacción a una nueva columna llamada transaction_id.

transacción %{notSpace:transaction_id}

Ejemplo de conjunto de datos resultante parsed_execution_logs:

marca de tiempohostmensajeid_transacción
29 de mayo 11:09:28.000shopist.internalEjecutando intercambio para transacción 5651956519
29 de mayo 10:59:29.000shopist.internalEjecutando intercambio para transacción 2326923269
29 de mayo 10:58:54.000shopist.internalEjecutando intercambio para transacción 9687096870
31 de mayo 12:20:01.152shopist.internalEjecutando intercambio para transacción 8020780207

La celda de análisis transaction_record utiliza el siguiente comando SQL para seleccionar columnas específicas del conjunto de datos trade_start_logs y el trade_execution_logs cambia el nombre del estado INFO a OK y, a continuación, conecta los dos conjuntos de datos.

SELECT
    start_logs.timestamp,
    start_logs.customer_id,
    start_logs.transaction_id,
    start_logs.dollar_value,
    CASE
        WHEN executed_logs.status = 'INFO' THEN 'OK'
        ELSE executed_logs.status
    END AS status
FROM
    trade_start_logs AS start_logs
JOIN
    trade_execution_logs AS executed_logs
ON
    start_logs.transaction_id = executed_logs.transaction_id;

Ejemplo de conjunto de datos resultante transaction_record:

marca de tiempoid_clienteid_transacciónvalor_dólarstatus
29 de mayo 11:09:28.00092446085cc56c-a54f838.32OK
29 de mayo 10:59:29.00078037b1fad476-fd4f479.96OK
29 de mayo 10:58:54.00047694cb23d1a7-c0cb703.71OK
31 de mayo 12:20:01.152802072c75b835-4194386.21ERROR

A continuación, se añade la tabla de referencia trading_platform_users como fuente de datos:

nombre_clienteid_clienteestado_cuenta
Meghan Key92446verificado
Anthony Gill78037verificado
Tanya Mejía47694verificado
Michael Kaiser80207fraudulento

La celda de análisis transaction_record_with_names ejecuta el siguiente comando SQL para tomar el nombre del cliente y el estado de la cuenta de trading_platform_users, añadirlos como columna y luego conectarlos con el conjunto de datos transaction_records:

SELECT tr.timestamp, tr.customer_id, tpu.customer_name, tpu.account_status, tr.transaction_id, tr.dollar_value, tr.status
FROM transaction_record AS tr
LEFT JOIN trading_platform_users AS tpu ON tr.customer_id = tpu.customer_id;

Ejemplo de conjunto de datos resultante transaction_record_with_names:

marca de tiempoid_clientenombre_clienteestado_cuentaid_transacciónvalor_dolarstatus
29 de mayo 11:09:28.00092446Meghan Keyverificado085cc56c-a54f838.32OK
29 de mayo 10:59:29.00078037Anthony Gillverificadob1fad476-fd4f479.96OK
29 de mayo 10:58:54.00047694Tanya Mejíaverificadocb23d1a7-c0cb703.71OK
31 de mayo 12:20:01.15280207Michael Kaiserfraudulento2c75b835-4194386.21ERROR

Por último, se crea una celda de visualización de mapa de árbol con el conjunto de datos transaction_record_with_names filtrado para logs status:error y agrupado por dollar_value, account_status y customer_name.

Conjuntos de datos del espacio de trabajo

Referencias adicionales

Más enlaces, artículos y documentación útiles: