Verwenden Sie ein kurzes Python-Skript mit den Hilfsprogrammen client’s helpers.scan oder der _search API mit einem Point in Time (PIT) und search_after. Für schnelle Abrufe von bis zu 10.000 Zeilen funktioniert ES|QL mit format=json direkt aus den Kibana-Dev-Tools. Kibana Discover kann auch einen Bericht generieren, jedoch nicht in einem Format, das LogTotal derzeit liest. Wenn Ihre Integration es erhalten hat, enthält event.original die ursprüngliche Log-Zeile.
Elastic ist eine der häufigsten Grundlagen für hausinterne Sicherheitsanalysen, von Elastic Security bis zu selbstgebauten Stacks. Prime Core hat 23.722 Erkennungsregeln für Elastic, die 671 MITRE ATT&CK-Techniken zugeordnet sind. Unten sehen Sie, wie Sie Daten extrahieren, bereinigen und kostenlos in LogTotal untersuchen können.
Bevor Sie beginnen
Authentifizierung. Erstellen Sie einen API-Schlüssel in Stack-Management → API-Schlüssel mit Lesen und view_index_metadata auf den benötigten Indizes. Senden Sie ihn als Authorization: ApiKey <key>. Im Elastic Cloud befindet sich der Elasticsearch-Endpunkt auf der Übersichtsseite Ihrer Bereitstellung.
Wissen, wo die Daten liegen. Elastic-Agent-Integrationen schreiben in Datenströme mit dem Namen logs-<dataset>-<namespace>. Linux-Authentifizierungsprotokolle aus der Systemintegration landen beispielsweise in logs-system.auth-default.
Überprüfen Sie event.original. Viele Integrationen behalten standardmäßig nicht die ursprüngliche Zeile; es ist eine „ursprüngliches Ereignis beibehalten“-Option. Wenn es fehlt, sind die geparsten Felder das, was Sie haben, und das ist für einen JSON-Upload in Ordnung.
Datenschichten. Suchvorgänge in kalten oder gefrorenen Schichten sind langsamer. Halten Sie die Fenster klein, wenn die Daten alt sind.
Die Beispiele folgen der aktuellen Elastic-Dokumentation, überprüft im Oktober 2026.
Option 1: Python mit helpers.scan (empfohlen)
import json, os
from elasticsearch import Elasticsearch, helpers
es = Elasticsearch("https://my-deployment.es.example.com:443", api_key=os.environ["ES_API_KEY"])
query = {"query": {"range": {"@timestamp": {
"gte": "2026-10-19T00:00:00Z", "lt": "2026-10-20T00:00:00Z"}}}}
with open("elastic_auth_1019.jsonl", "w") as out:
for hit in helpers.scan(es, index="logs-system.auth-*", query=query, size=1000):
out.write(json.dumps(hit["_source"]) + "n")
Für rohe Zeilen schreiben Sie hit[„_source“].get(„event“, {}).get(„original“, „“) anstelle des gesamten Dokuments.
Option 2: ES|QL für schnelle Abrufe
In den Kibana-Dev-Tools:
POST /_query?format=json
{
"query": """
FROM logs-system.auth-*
| WHERE @timestamp >= "2026-10-19T00:00:00Z" AND @timestamp < "2026-10-20T00:00:00Z"
| KEEP @timestamp, host.name, user.name, source.ip, message
| LIMIT 10000
"""
}
Zwei Haken. ES|QL gibt 1.000 Zeilen zurück, es sei denn, Sie setzen LIMIT, und es grenzt bei 10.000. Die JSON-Antwort kommt auch als Spalten plus Werte, nicht als Datensätze. Um es in ein Objekt pro Zeile zu verwandeln, speichern Sie den Abfragekörper als query.json und führen Sie ihn durch jq:
curl -sS -H "Authorization: ApiKey $ES_API_KEY" -H 'Content-Type: application/json'
"https://my-deployment.es.example.com/_query?format=json" -d @query.json
| jq -c '.columns as $c | .values[] | [$c, .] | transpose | map({(.[0].name): .[1]}) | add' > esql_1019.jsonl
Option 3: Exportieren von Protokollen über die Kibana-Benutzeroberfläche (Discover)
Für kleinere Untersuchungen ermöglicht Kibana Discover, Protokolle direkt im Browser zu finden, zu filtern und zu exportieren, ohne Skripte zu schreiben.
- Discover öffnen. Melden Sie sich bei Kibana an und navigieren Sie zu Analytics → Discover, oder wählen Sie Discover aus der Hauptnavigation.
- Wählen Sie Ihre Daten aus. Wählen Sie die Datenansicht aus, die die benötigten Protokolle enthält, wie z. B. logs-system.auth-*. Stellen Sie sicher, dass sie die relevanten Elasticsearch-Indizes oder Datenströme umfasst.
- Legen Sie den Zeitraum fest. Verwenden Sie den Zeitwähler in der oberen rechten Ecke, um den Untersuchungszeitraum auszuwählen. Verengen Sie das Fenster, um unnötige Ereignisse zu vermeiden.
- Filtern Sie die Protokolle. Verwenden Sie die Suchleiste und die verfügbaren Filter, um relevante Ereignisse zu isolieren. Geben Sie beispielsweise event.category: authentication ein, um sich auf Authentifizierungsaktivitäten zu konzentrieren.
- Wählen Sie die Felder aus. Fügen Sie nützliche Spalten wie @timestamp, host.name, user.name, source.ip und message hinzu. Falls verfügbar, nehmen Sie event.original auf, um den ursprünglichen Log-Inhalt zu bewahren.
- Exportieren Sie die Ergebnisse. Öffnen Sie Mehr → Exportieren → Tab-Ergebnisse als CSV (in einigen Versionen, Teilen → CSV-Berichte). Erstellen Sie den Bericht und laden Sie die CSV-Datei herunter. Wenn der Export nicht sofort heruntergeladen wird, finden Sie ihn unter Stack-Management → Reporting.
Alternative: Kopieren von Protokollen als JSON. Für eine kleine Auswahl von Ereignissen markieren Sie die relevanten Zeilen in Discover, öffnen Sie das Menü Ausgewählt , und wählen Sie Dokumente als JSON kopieren. Fügen Sie den kopierten Inhalt in einen Texteditor ein und speichern Sie ihn als .json-Datei. Nur die in der aktuellen Tabellenauswahl enthaltenen Felder können kopiert werden.
Einschränkungen. CSV-Berichte sind für mittlere Exportgrößen gedacht und haben Begrenzungen für die Zeilenanzahl und Dateigröße, die von der Kibana-Version und Konfiguration abhängen. Der Export einer Discover-Sitzungsdefinition als JSON exportiert nicht die Log-Ereignisse selbst.
Für LogTotal verwenden Sie ein unterstütztes Log-Format. Wenn JSONL erforderlich ist, exportieren Sie die Datensätze mit den unten beschriebenen Methoden der Python- oder Elasticsearch-API oder konvertieren Sie die exportierten Daten in ein JSON-Objekt pro Zeile, bevor Sie es hochladen.
Schritt 3: Hochladen, bereinigen und überprüfen in LogTotal
- Hochladen. Öffnen Sie logtotal.com und die .jsonl-Datei einfügen.
- Bereinigen. Überprüfen Sie es, bevor Sie fortfahren.
- Überprüfen.
Wenn es schiefgeht
| Symptom | Wahrscheinliche Ursache | Fix |
|---|---|---|
| 401 oder 403 | API-Schlüssel hat keine Berechtigungen für die Indizes | Fügen Sie Lesen und view_index_metadata hinzu |
| Ergebnisfenster ist zu groß | Mehr als 10.000 Treffer in einem _search | Verwenden Sie helpers.scan oder PIT mit search_after |
| ES|QL gibt genau 1.000 Zeilen zurück | Standardlimit | Limit hinzufügen (max. 10.000) |
| Kein event.original-Feld | Die Integration hat es nicht beibehalten | Exportieren Sie stattdessen das geparste Dokument |
| Timeouts | Alte Daten auf kalten oder gefrorenen Schichten | Fenster verkleinern; in Stücken ausführen |
FAQ
Was ist mit Elastic Security-Benachrichtigungen?
Benachrichtigungen befinden sich in ihren eigenen Indizes (.alerts-security.alerts-*). Das Exportieren von Benachrichtigungen ist eine andere Aufgabe als das Exportieren der dahinterliegenden Protokolle; für LogTotal exportieren Sie die Protokolle.
Funktioniert das auch für OpenSearch?
Die Idee ist dieselbe, die Clients unterscheiden sich.