Logs de Exportación

Si desea almacenar los resultados de búsqueda offline, Oracle Log Analytics le permite exportar resultados de la búsqueda en formato de valores separados por comas (CSV), JavaScript Notación de objeto (JSON) o formato Parquet.

Temas:

Para exportar los resultados de las consultas mediante la CLI, consulte Referencia de la línea de comandos.

Para exportar los resultados de búsqueda desde la consola:

  1. Busque los logs para obtener el resultado deseado.
  2. Haga clic en Acciones y en Exportar.
  3. Para el formato de archivo, seleccione Valores separados por comas o Notaciones de objetos de JavaScript.

    Además, puede exportar los resultados de búsqueda en formato Parquet mediante la API de REST y la CLI. Para ver un ejemplo, consulte Ejemplos de exportación de logs.

  4. Introduzca un nombre para el archivo y haga clic en Exportar.

En el caso de las visualizaciones de registros e histogramas, el resultado de la búsqueda se exporta en función de la hora, el contenido del log original y todos los campos de visualización seleccionados. En el caso de visualización de tabla, el resultado de la búsqueda se exporta en función del tiempo y de los campos de visualización seleccionados. Para cualquier otra visualización, se exportan los resultados de la consulta mostrada en la visualización seleccionada.

Límites de exportación

Si el resultado de exportación se puede transmitir, el recuento máximo de los resultados recuperados del origen de datos es 1 000 000. Si no se transmite, el recuento máximo es:

  • 500 si la consulta incluye el comando link
  • 10 000 si la consulta no incluye el comando link
  • 10 000 si la consulta incluye comandos como head, tail o stats.

Grandes exportaciones

Oracle Log Analytics está optimizado para buscar y agregar logs, pero no para exportar una gran cantidad de datos. Las exportaciones grandes son limitadas y limitadas para minimizar el impacto en el sistema.

Exportar restricciones y límites de consulta

  • Límites:

    • Una exportación máxima por segundo
    • Un máximo de 7 exportaciones por minuto
    • Un máximo de 100 exportaciones por 15 minutos
  • Comandos no permitidos:

    Un campo grande es el que se utiliza para almacenar una gran cantidad de datos. Los siguientes comandos no se pueden utilizar con campos grandes en las consultas utilizadas para exportar logs debido al alto uso de recursos.

    extract
    jsonextract
    xmlextract
    
    eval/where
       substr
       replace
       reverse

    Además, absténgase de utilizar LIKE con campos grandes en la consulta.

    A continuación se muestran algunos ejemplos de campos grandes:

    Arguments
    Call Stack Trace
    Data Received
    Data Sent
    Environment
    Error Stack Dump
    Error Text
    Exception
    Message
    Original Log Content
    Resource Limit Settings
    SQL Bind Variables
    SQL Statement
    Stack Trace
    Supplemental Detail
    URI

    No asigne campos grandes a variables temporales y utilícelos con los comandos anteriores. Un campo derivado de operaciones como las que se indican a continuación no se puede utilizar con los comandos anteriores:

    message
    message || a, 
    a || message, 
    concat(message, a), 
    concat(a, message), 
    upper(message), 
    lower(message), 
    trim(message), 
    ltrim(message), 
    rtrim(message)

    En lugar de utilizar consultas comodín y comandos como extract o regex en la consulta de exportación, defina los campos ampliados y utilice esos campos para dichos requisitos. Consulte Uso de campos ampliados en los orígenes.

  • Si utiliza la partición de logs:

    Si ha activado la partición de logs en el inquilino, puede incluir un máximo de 5 juegos de logs en la consulta de exportación.

  • Consultas para exportación de flujo:

    El comando sort no está soportado en las consultas de exportación de flujo.

Ejemplos de exportación de logs

  • Exportar logs con campos específicos en formato CSV: modifique la cadena de consulta para que incluya solo los campos necesarios con fields -,* 'User ID', 'Host IP Address', Status, Time y utilice el parámetro --output-format. Por ejemplo:
    oci log-analytics query export --output-format CSV --compartment-id $compartment_id --namespace-name $namespace_name --query-string "fields -,* 'User ID', 'Host IP Address', Status, Time" --file $file
  • Exportar un gran número de logs (50 000 registros de log): utilice el parámetro --max-total-count junto con oci log-analytics query export para limitar la salida a 50 000 registros. Por ejemplo:
    oci log-analytics query export --compartment-id $compartment_id --namespace-name $namespace_name --query-string $query_string --max-total-count 50000 --file $file
  • Exportar logs para un rango de fechas específico: utilice los parámetros --time-start y --time-end en oci log-analytics query export. Por ejemplo:
    oci log-analytics query export --compartment-id $compartment_id --namespace-name $namespace_name --query-string $query_string --time-start 2024-12-15T20:30Z --time-end 2025-03-15T20:29Z --file $file
  • Exportar logs en formato parquet (pq): consulte la API: ExportDetails Reference y la CLI: Query export.
    oci log-analytics query export --output-format PARQUET --compartment-id $compartment_id --namespace-name $namespace_name --query-string $query_string --file $file

    Leer archivo de parquet exportado:

    import pandas as pd
    table = pd.read_parquet('example.parquet')

    La tabla Parquet utiliza nombres internos de columna de consulta. Los nombres mostrados de las columnas se almacenan en los metadatos del archivo de parquet.

    import json
    import pyarrow.parquet as pq
    metadata = pq.read_metadata('example.parquet').metadata
    fields = json.loads(metadata[b'parquet.avro.schema'])['fields']
    table.rename(columns={ field['name'] : field['doc'] for field in fields })