Nachdem wir die Architektur und den Datenfluss von Splunk betrachtet haben, widmen wir uns nun der Splunk Search Processing Language (SPL). Diese leistungsfähige Suchsprache ermöglicht es, aus großen Datenmengen schnell die relevanten Informationen zu extrahieren und aussagekräftige Analysen zu erstellen.
Einführung in SPL
SPL ist eine befehlsbasierte Sprache, die in Splunk-Suchabfragen verwendet wird.
- Jede Abfrage beginnt mit einer Datenquelle (Index, Sourcetype, Host).
- Befehle werden mit Pipes (
|
) verknüpft und Schritt für Schritt ausgeführt. - Ergebnisse können gefiltert, aggregiert und visualisiert werden.
Beispiel:
index=web_logs status=500 | stats count by host
Diese Abfrage zählt alle HTTP-Fehler 500 pro Host.
Grundlegende SPL-Befehle
- search: Startpunkt jeder Abfrage, z. B.
index=firewall action=blocked
- stats: Statistische Auswertungen wie
count
,avg
,sum
- timechart: Zeitbasierte Diagramme erstellen
- eval: Neue Felder berechnen oder bestehende transformieren
- sort: Ergebnisse sortieren, z. B.
sort - count
Filterung und Zeitabfragen
- Zeitbasierte Suchen ermöglichen präzise Analysen:
index=syslog earliest=-24h latest=now
- Kombinierte Bedingungen mit AND, OR und NOT:
index=web_logs status=404 OR status=500
Statistische Analysen
Mit SPL können große Datenmengen verdichtet und visualisiert werden:
index=firewall action=blocked | stats count by src_ip
Ergebnis: Anzahl blockierter Verbindungen pro Quell-IP.
Praxisbeispiel: Security-Analyse
Eine Abfrage, um ungewöhnlich viele Login-Fehler pro Benutzer zu erkennen:
index=auth_logs action=failed | stats count by user | where count > 10
Ermöglicht schnelles Erkennen möglicher Brute-Force-Angriffe.
Visualisierung der Ergebnisse
- timechart: Zeitverläufe von Metriken anzeigen
- top: Häufigste Werte in einem Feld auflisten
- table: Ergebnisse in tabellarischer Form darstellen
Beispiel:
index=web_logs status=200 | timechart count by host
Schreibe einen Kommentar