Logs exportieren
Wenn Sie die Suchergebnisse offline speichern möchten, können Sie mit Oracle Log Analytics Suchergebnisse im kommagetrennten (CSV-)Format, JavaScript Object Notation (JSON) oder Parquet-Format exportieren.
Themen:
- Exportlimits
- Große Exporte
- Exportabfrageeinschränkungen und -limits
- Beispiele für das Exportieren von Logs
Informationen zum Exportieren von Abfrageergebnissen mit der CLI finden Sie unter Befehlszeilenreferenz.
So exportieren Sie Suchergebnisse aus der Konsole:
- Durchsuchen Sie die Logs, um das gewünschte Ergebnis zu erhalten.
- Klicken Sie auf Aktionen und anschließend auf Exportieren.
- Wählen Sie als Dateiformat Durch Komma getrennte Werte oder JavaScript-Objektnotation aus.
Darüber hinaus können Sie Suchergebnisse mit der REST-API und der CLI im Parquet-Format exportieren. Ein Beispiel finden Sie unter Beispiele für das Exportieren von Logs.
- Geben Sie einen Namen für die Datei ein, und klicken Sie auf Exportieren.
Bei den Visualisierungen für Datensätze und Histogramme wird das Suchergebnis basierend auf der Uhrzeit, dem ursprünglichen Loginhalt und allen ausgewählten Anzeigefeldern exportiert. Bei einer Tabellenvisualisierung wird das Suchergebnis basierend auf der Zeit und den ausgewählten Anzeigefeldern exportiert. Bei allen anderen Visualisierungen werden die Ergebnisse der in der ausgewählten Visualisierung angezeigten Abfrage exportiert.
Exportlimits
Wenn das Exportergebnis gestreamt werden kann, beträgt die maximale Anzahl der abgerufenen Ergebnisse aus der Datenquelle 1.000.000. Wenn kein Streaming ausgeführt wird, beträgt die maximale Anzahl:
- 500, wenn die Abfrage den Befehl
link
enthält - 10.000, wenn die Abfrage den Befehl
link
nicht enthält - 10.000, wenn die Abfrage Befehle wie
head
,tail
oderstats
enthält.
Große Exporte
Oracle Log Analytics ist für die Suche und Aggregation von Logs optimiert, jedoch nicht für den Export großer Datenmengen. Große Exporte sind begrenzt und gedrosselt, um die Auswirkungen auf das System zu minimieren.
Exportabfrageeinschränkungen und -limits
-
Limits:
- Maximal ein Export pro Sekunde
- Maximal 7 Exporte pro Minute
- Maximal 100 Exporte pro 15 Minuten
-
Befehle nicht zulässig:
Ein Large-Feld ist das Feld, das zum Speichern großer Datenmengen verwendet wird. Die folgenden Befehle können aufgrund der hohen Ressourcennutzung nicht mit großen Feldern in den Abfragen verwendet werden, die zum Exportieren von Logs verwendet werden.
extract jsonextract xmlextract eval/where substr replace reverse
Verwenden Sie außerdem
LIKE
nicht mit großen Feldern in Ihrer Abfrage.Im Folgenden sind einige Beispiele für große Felder aufgeführt:
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
Weisen Sie keine großen Felder temporären Variablen zu, und verwenden Sie sie mit den obigen Befehlen. Ein Feld, das aus Vorgängen wie unten abgeleitet wurde, kann nicht mit den oben genannten Befehlen verwendet werden:
message message || a, a || message, concat(message, a), concat(a, message), upper(message), lower(message), trim(message), ltrim(message), rtrim(message)
Anstatt Platzhalterabfragen und -befehle wie
extract
oderregex
in Ihrer Exportabfrage zu verwenden, definieren Sie erweiterte Felder, und verwenden Sie diese Felder für solche Anforderungen. Siehe Erweiterte Felder in Quellen verwenden. -
Wenn Sie die Logpartitionierung verwenden:
Wenn Sie die Logpartitionierung in Ihrem Mandanten aktiviert haben, können Sie maximal 5 Logsets in die Exportabfrage aufnehmen.
-
Abfragen für Streamingexport:
Der Befehl
sort
wird in Streamingexportabfragen nicht unterstützt.
Beispiele für das Exportieren von Logs
- Logs mit bestimmten Feldern im CSV-Format exportieren: Ändern Sie die Abfragezeichenfolge so, dass nur die erforderlichen Felder mit
fields -,* 'User ID', 'Host IP Address', Status, Time
eingeschlossen werden, und verwenden Sie den Parameter--output-format
. Beispiel: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
- Eine große Anzahl von Logs exportieren (50.000 Logdatensätze): Verwenden Sie den Parameter
--max-total-count
zusammen mitoci log-analytics query export
, um die Ausgabe auf 50.000 Datensätze zu begrenzen. Beispiel:oci log-analytics query export --compartment-id $compartment_id --namespace-name $namespace_name --query-string $query_string --max-total-count 50000 --file $file
- Logs für einen bestimmten Datumsbereich exportieren: Verwenden Sie die Parameter
--time-start
und--time-end
inoci log-analytics query export
. Beispiel: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
- Logs im Parquet-Format (pq) exportieren: Siehe API: ExportDetails-Referenz und CLI: Abfrageexport.
oci log-analytics query export --output-format PARQUET --compartment-id $compartment_id --namespace-name $namespace_name --query-string $query_string --file $file
Exportierte Parkettdatei lesen:
import pandas as pd table = pd.read_parquet('example.parquet')
Parquet-Tabelle verwendet interne Namen der Abfragespalte. Die Spaltenanzeigenamen werden in den Metadaten der Parkettdatei gespeichert.
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 })