Bevor wir Logdateien bereinigen oder analysieren, müssen wir sie lesen und verstehen.
Linux bietet dafür mehrere Werkzeuge, die je nach Situation sinnvoll sind.
In diesem Kapitel lernst du, wie du Logfiles im Terminal öffnest, durchsuchst und die wichtigsten Meldungen schnell findest.

🔹 Logfiles finden

Die meisten Logs liegen unter /var/log/.
Beispiele:

  • /var/log/syslog → allgemeine Systemmeldungen
  • /var/log/auth.log → Anmeldeversuche, SSH-Logins
  • /var/log/apache2/access.log → Apache-Webserver-Zugriffe
  • /var/log/nginx/error.log → Nginx-Fehler

👉 Tipp: Viele Logs brauchen Root-Rechte (sudo), um sie zu lesen.

🔹 Mit cat Logs vollständig ausgeben

Der einfachste Befehl:

cat /var/log/syslog

👉 Gibt die gesamte Datei aus.
Nachteil: Bei großen Logs ist das unübersichtlich.

🔹 Mit less Logs bequem durchblättern

less /var/log/syslog

Bedienung:

  • Pfeiltasten → Zeilenweise bewegen
  • Leertaste → Seite weiter
  • /Muster – vorwärts→ suchen (Datei nach unten hin durchsuchen)
  • ?Muster – rückwärts→ suchen (Datei nach oben hin durchsuchen)
  • q → beenden

👉 Ideal für große Logs, da du vor- und zurückscrollen kannst.

💡 Profi-Tipp: less als Ersatz für tail -f

Während du in less bist, kannst du mit Shift + F in den Follow-Modus wechseln.
Das funktioniert genauso wie tail -f: neue Logzeilen werden sofort angezeigt.

Mit Strg + C kehrst du in den normalen Blättermodus zurück.

Vorteil: Du kannst sofort zurückscrollen oder mit /Muster oder ?Muster suchen, ohne less verlassen zu müssen.

🔹 Mit tail die letzten Einträge sehen

Logs sind dynamisch – neue Einträge kommen ständig dazu.
Mit tail siehst du die letzten Zeilen:

tail /var/log/syslog

👉 Standardmäßig die letzten 10 Zeilen.

Mehr Zeilen anzeigen:

tail -n 50 /var/log/syslog

Live-Modus (neue Einträge sofort sehen):

tail -f /var/log/syslog

👉 Perfekt, wenn du ein Log während eines Tests oder Starts beobachten willst.

🔹 Mit grep gezielt suchen

Um bestimmte Meldungen zu finden, nutze grep:

grep "ERROR" /var/log/syslog

👉 Zeigt nur Zeilen, die „ERROR“ enthalten.

Kombiniert mit tail:

tail -f /var/log/syslog | grep "sshd"

👉 Zeigt in Echtzeit nur SSH-bezogene Meldungen.

🔹 Beispiel: SSH-Logins prüfen

In /var/log/auth.log findest du Login-Versuche.

Nur fehlgeschlagene Logins anzeigen:

grep "Failed password" /var/log/auth.log

👉 Damit erkennst du sofort Angriffsversuche oder Fehl-Logins deiner User.

🔹 Übungen

1. Öffne mit less die Datei /var/log/syslog.

  • Scrolle durch und suche nach dem Wort „error“.

2. Beobachte mit tail -f die Datei /var/log/auth.log.

  • Öffne in einem zweiten Terminal eine SSH-Verbindung und sieh dir an, wie sofort ein neuer Eintrag erscheint.

3. Suche mit grep in auth.log nach allen fehlgeschlagenen Logins (Failed password).

  • Zähle, wie viele es waren:
    grep "Failed password" /var/log/auth.log | wc -l

✅ Zusammenfassung

  • cat → komplette Datei ausgeben (eher unübersichtlich bei großen Logs).
  • less → komfortabel blättern, suchen, zurückspringen.
  • tail → letzte Zeilen sehen, mit -f im Live-Modus beobachten.
  • grep → gezielt nach Begriffen suchen, auch in Kombination mit tail.

👉 Im nächsten Kapitel lernst du, wie du mit grep & regulären Ausdrücken noch flexibler in Logdateien suchen kannst.

 

📚 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