Wenn du ein großes Logfile analysierst, möchtest du oft nicht alles sehen, sondern nur die
relevanten Zeilen.
Dafür ist
grep das Standard-Tool: Es durchsucht Text nach Mustern und gibt nur die passenden Zeilen aus.
Mit
Regex wird es noch flexibler – du kannst damit auch komplexe Muster erkennen.
🔹 Grundlagen von grep
Syntax:
grep MUSTER datei
Beispiele:
- Alle Zeilen mit „ERROR“:
grep "ERROR" syslog
- Suche unabhängig von Groß-/Kleinschreibung:
grep -i "error" syslog
- Zeilennummern mit ausgeben:
grep -n "ssh" auth.log
🔹 Negative Suche mit -v
Manchmal willst du gerade die Zeilen sehen, die
nicht ein bestimmtes Muster enthalten:
grep -v "INFO" server.log
👉 Zeigt alles außer den INFO-Meldungen.
🔹 Kontext anzeigen (-A, -B, -C)
- 3 Zeilen nach dem Treffer:
grep -A 3 "ERROR" syslog
- 2 Zeilen vor dem Treffer:
grep -B 2 "ERROR" syslog
- 1 Zeile davor und danach:
grep -C 1 "ERROR" syslog
🔹 Reguläre Ausdrücke mit grep
Mit
-E (oder
egrep) kannst du erweiterte Regex nutzen.
👉 Regex macht Suchmuster sehr flexibel.
🔹 Beispiel: SSH-Logins analysieren
Datei:
/var/log/auth.log
🔹 grep in Kombination mit tail
Logs live überwachen, aber nur bestimmte Ereignisse sehen:
tail -f syslog | grep "ERROR"
👉 Damit siehst du nur neue Fehler, die währenddessen entstehen.
🔹 Übungen
1. Öffne /var/log/syslog und finde:
- alle „error“-Meldungen (case-insensitive).
- alle Meldungen, die nicht „info“ enthalten.
2. Suche in /var/log/auth.log:
- alle fehlgeschlagenen Login-Versuche.
- alle erfolgreichen Logins.
- Bonus: nur die letzten 20 davon (mit
tail).
3. Nimm ein Apache-Access-Log (/var/log/apache2/access.log):
- Finde alle 404-Fehler.
- Finde nur die IPs, die solche Fehler verursacht haben.
✅ Zusammenfassung
grep filtert Logs nach Mustern.
- Mit
-i, -n, -v, -A/-B/-C kannst du die Suche verfeinern.
- Mit Regex (
-E) lassen sich komplexe Muster beschreiben (IP-Adressen, Statuscodes, Wortgrenzen).
- Mit
tail -f | grep bekommst du Live-Filterung.
👉
Im nächsten Kapitel lernst du, wie du mit
sed Logs bereinigst – z. B. Kommentare, Timestamps oder unnötige Informationen entfernst.
📚 Inhaltsverzeichnis
👉
Log-Analyse Kapitel 1: Logs im Terminal lesen – cat, less, tail & grep
👉
Log-Analyse Kapitel 2: Filtern mit grep und regulären Ausdrücken
👉
Log-Analyse Kapitel 3: Logs bereinigen mit sed – inkl. Mehrdatei-Änderungen
👉
Log-Analyse Kapitel 4: Logs analysieren mit awk
👉
Log-Analyse Kapitel 5: Logs kombinieren mit grep, sed, awk, sort, uniq & cut
👉
Log-Analyse Kapitel 6: Praxisprojekt – Apache-/Nginx-Access-Logs analysieren
👉
Log-Analyse Kapitel 7: Praxisprojekt – Systemlogs analysieren (auth.log & journalctl)⭐ Bonus-Kapitel
👉
Log-Analyse Kapitel 8 (Bonus): Eigene Auswertungs-Skripte für Logs schreiben
👉
Log-Analyse Kapitel 9 (Bonus): Logs visualisieren mit CSV & gnuplot