Log di esportazione

Se si desidera memorizzare i risultati della ricerca offline, Oracle Log Analytics consente di esportare i risultati della ricerca in formato CSV (Comma-Separated Values), JavaScript Object Notation (JSON) o Parquet.

Argomenti:

Per esportare i risultati delle query utilizzando l'interfaccia CLI, vedere Riferimento riga di comando.

Per esportare i risultati della ricerca dalla console:

  1. Cercare i log per ottenere il risultato desiderato.
  2. Fare clic su Azioni, quindi su Esporta.
  3. Per il formato file, selezionare Valori separati da virgole o JavaScript Object Notation.

    Inoltre, puoi esportare i risultati della ricerca in formato Parquet utilizzando l'API REST e l'interfaccia CLI. Per un esempio, vedere Esempi di esportazione dei log.

  4. Immettere un nome per il file e fare clic su Esporta.

Nel caso delle visualizzazioni Record e istogramma, il risultato della ricerca viene esportato in base all'ora, al contenuto del log originale e a tutti i campi di visualizzazione selezionati. Nel caso della visualizzazione Tabella, il risultato della ricerca viene esportato in base all'ora e ai campi di visualizzazione selezionati. Per qualsiasi altra visualizzazione, vengono esportati i risultati della query visualizzata nella visualizzazione selezionata.

Limiti esportazione

Se è possibile eseguire il flusso dei risultati dell'esportazione, il conteggio massimo dei risultati recuperati dal form dell'origine dati è 1.000.000. Se non viene eseguito lo streaming, il conteggio massimo è:

  • 500 se la query include il comando link
  • 10.000 se la query non include il comando link
  • 10.000 se la query include comandi quali head, tail o stats.

Grandi esportazioni

Oracle Log Analytics è ottimizzato per la ricerca e l'aggregazione dei log, ma non per l'esportazione di grandi quantità di dati. Le grandi esportazioni sono limitate e limitate per ridurre al minimo l'impatto sul sistema.

Limiti e restrizioni query di esportazione

  • Limiti:

    • Un massimo di un'esportazione al secondo
    • Massimo 7 esportazioni al minuto
    • Massimo 100 esportazioni per 15 minuti
  • Comandi non consentiti:

    Un campo Grande è quello utilizzato per contenere grandi quantità di dati. I comandi seguenti non possono essere utilizzati con campi di grandi dimensioni nelle query utilizzate per esportare i log a causa dell'uso elevato delle risorse.

    extract
    jsonextract
    xmlextract
    
    eval/where
       substr
       replace
       reverse

    Inoltre, non utilizzare LIKE con campi di grandi dimensioni nella query.

    Di seguito sono riportati alcuni esempi di campi di grandi dimensioni.

    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

    Non assegnare campi di grandi dimensioni a variabili temporanee e utilizzarli con i comandi sopra riportati. Un campo derivato da operazioni come quelle riportate di seguito non può essere utilizzato con i comandi sopra riportati:

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

    Anziché utilizzare query e comandi con caratteri jolly come extract o regex nella query di esportazione, definire i campi estesi e utilizzare tali campi per tali requisiti. Vedere Usa campi estesi nelle origini.

  • Se si utilizza il partizionamento di log:

    Se è stato abilitato il partizionamento dei log nel tenant, è possibile includere nella query di esportazione un massimo di 5 set di log.

  • Query per l'esportazione in streaming:

    Il comando sort non è supportato nelle query di esportazione in streaming.

Esempi di esportazione dei log

  • Esportare i log con campi specifici in formato CSV: modificare la stringa di query per includere solo i campi obbligatori con fields -,* 'User ID', 'Host IP Address', Status, Time e utilizzare il parametro --output-format. Ad esempio:
    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
  • Esportare un numero elevato di log (50.000 record di log): utilizzare il parametro --max-total-count insieme a oci log-analytics query export per limitare l'output a 50.000 record. Ad esempio:
    oci log-analytics query export --compartment-id $compartment_id --namespace-name $namespace_name --query-string $query_string --max-total-count 50000 --file $file
  • Esportare i log per un intervallo di date specifico: utilizzare i parametri --time-start e --time-end in oci log-analytics query export. Ad esempio:
    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
  • Esportare i log in formato parquet (pq): vedere API: ExportDetails Reference e 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

    Leggi file parquet esportato:

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

    La tabella Parquet utilizza i nomi interni delle colonne di query. I nomi visualizzati delle colonne vengono memorizzati nei metadati del file 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 })