Logs de Exportação

Se você quiser armazenar os resultados da pesquisa off-line, o Oracle Log Analytics permitirá exportar os resultados da pesquisa no formato Valores Separados por Vírgulas (CSV), JavaScript JSON (Object Notation) ou Parquet.

Tópicos:

Para exportar resultados da consulta usando a CLI, consulte Referência da Linha de Comando.

Para exportar os resultados da pesquisa da console:

  1. Pesquise os logs para obter o resultado desejado.
  2. Clique em Ações e em Exportar.
  3. Para o formato de arquivo, selecione Valores Separados por Vírgulas ou JavaScript Object Notation.

    Além disso, você pode exportar os resultados da pesquisa no formato Parquet usando a API REST e a CLI. Para obter um exemplo, consulte Exemplos para Exportar Logs.

  4. Digite um nome para o arquivo e clique em Exportar.

No caso das visualizações Registros e Histograma, o resultado da pesquisa é exportado com base no tempo, no conteúdo do log original e em todos os campos de exibição selecionados. No caso da visualização Tabela, o resultado da pesquisa é exportado com base no tempo e nos campos de exibição selecionados. Para qualquer outra visualização, os resultados da consulta exibida na visualização selecionada são exportados.

Limites da Exportação

Se o resultado da exportação puder ser transmitido, a contagem máxima dos resultados recuperados na origem de dados será 1.000.000. Se não for transmitido, a contagem máxima será:

  • 500 se a consulta incluir o comando link
  • 10.000 se a consulta não incluir o comando link
  • 10.000 se a consulta incluir comandos como head, tail ou stats.

Grandes Exportações

O Oracle Log Analytics é otimizado para pesquisar e agregar logs, mas não para exportar uma grande quantidade de dados. Grandes exportações são limitadas e limitadas para minimizar o impacto no sistema.

Exportar restrições e limites de consulta

  • Limites:

    • Um máximo de uma exportação por segundo
    • Um máximo de 7 exportações por minuto
    • Um máximo de 100 exportações por 15 minutos
  • Comandos não permitidos:

    Um campo Grande é aquele que é usado para armazenar uma grande quantidade de dados. Os comandos a seguir não podem ser usados com campos grandes nas consultas usadas para exportar logs devido ao alto uso de recursos.

    extract
    jsonextract
    xmlextract
    
    eval/where
       substr
       replace
       reverse

    Além disso, evite usar o LIKE com campos grandes em sua consulta.

    Estes são alguns exemplos 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

    Não atribua campos grandes a variáveis temporárias e utilize-os com os comandos acima. Um campo derivado de operações como abaixo não pode ser usado com os comandos acima:

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

    Em vez de usar consultas e comandos curinga como extract ou regex na consulta de exportação, defina Campos Estendidos e use esses campos para esses requisitos. Consulte Usar Campos Estendidos em Origens.

  • Se você estiver usando o particionamento de log:

    Se você tiver ativado o particionamento de log no seu tenant, poderá incluir no máximo 5 conjuntos de logs na consulta de exportação.

  • Consultas para exportação de streaming:

    O comando sort não é suportado em consultas de exportação de streaming.

Exemplos de Exportação de Logs

  • Exportar logs com campos específicos no formato CSV: Modifique a string de consulta para incluir apenas os campos obrigatórios com fields -,* 'User ID', 'Host IP Address', Status, Time e use o parâmetro --output-format. Por exemplo:
    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 um grande número de logs (50.000 registros de log): Use o parâmetro --max-total-count junto com o oci log-analytics query export para limitar a saída a 50.000 registros. Por exemplo:
    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 um intervalo de datas específico: Use os parâmetros --time-start e --time-end no oci log-analytics query export. Por exemplo:
    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 no formato parquet (pq): Consulte API: Referência a ExportDetails e CLI: Exportação de consulta.
    oci log-analytics query export --output-format PARQUET --compartment-id $compartment_id --namespace-name $namespace_name --query-string $query_string --file $file

    Ler arquivo parquet exportado:

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

    A tabela Parquet usa nomes internos da coluna de consulta. Os nomes de exibição da coluna são armazenados nos metadados do arquivo 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 })