Der Shop bucht nichts mehr ab
Ein Protokoll (englisch Log) ist eine Textdatei, in die ein Programm schreibt, was es getan hat und was schiefging. Wer einen Fehler sucht, liest zuerst das Protokoll.
Stell dir vor, die Kasse eines Webshops nimmt keine Zahlungen mehr an. Die Kundschaft wartet. Heute lernst du, in einer langen Datei die Zeilen zu finden, die dir die Ursache verraten.
Am Ende dieser Lektion
Notiz
Ich kann aus einem Protokoll die Ursache eines Fehlers finden.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Protokoll | eine Textdatei, in die ein Programm seine Ereignisse schreibt | |
| Stufe | ein Wort, das sagt, wie ernst eine Zeile ist | ERROR |
| Filtern | nur die Zeilen behalten, die passen | |
| Pipe | der Strich |, der die Ausgabe eines Befehls an den nächsten gibt | |
| Ursache | der Grund, warum ein Fehler auftritt |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Bevor du anfängst
Notiz
Diese Lektion nutzt wieder das Lab für den Alltag. Drück oben in der Leiste auf Lab starten und warte eine Minute. In diesem Lab wächst ein Protokoll, in das alle zwei Sekunden eine Zeile kommt.
Eine Protokollzeile hat Zeit, Stufe und Meldung
Jede Zeile beschreibt ein Ereignis. Zuerst kommen das Datum und die Uhrzeit, dann die Stufe, dann die Meldung in Worten.
Die Stufe INFO heißt: alles in Ordnung. ERROR heißt: Hier ist etwas schiefgegangen. Unser Protokoll liegt unter /var/log/test.log. Mit tail -n 2 liest du die letzten zwei Zeilen.
Beispiel: drei Protokollzeilen
2026-10-26 09:14:02 INFO request handled in 42 ms
2026-10-26 09:14:04 ERROR payment service did not answer
2026-10-26 09:14:06 INFO request handled in 57 msDie letzten zwei Zeilen lesen
tail -n 2 /var/log/test.logHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die ERROR-Zeilen zählen
grep -c ERROR /var/log/test.logHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
grep filtert, die Pipe reicht weiter
Ein Protokoll hat tausende Zeilen. Der Befehl grep wort datei zeigt nur die Zeilen, in denen das Wort vorkommt.
Mit einer Pipe gibst du die Ausgabe eines Befehls an den nächsten weiter. sort ordnet Zeilen, und uniq -c zählt gleiche Zeilen, die nebeneinander stehen. So zählst du, wie oft jede Stufe vorkommt.
Hilfreiche Zusätze für grep
| Befehl | Was er tut |
|---|---|
| grep ERROR datei | Zeigt alle Zeilen mit dem Wort ERROR |
| grep -c ERROR datei | Zählt diese Zeilen, statt sie zu zeigen |
| grep -m 1 ERROR datei | Hört nach der ersten passenden Zeile auf |
| grep -v INFO datei | Zeigt alle Zeilen ohne das Wort INFO |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Die erste ERROR-Zeile suchen
grep -m 1 ERROR /var/log/test.logHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Zählen, wie oft jede Stufe vorkommt
awk '{print $3}' /var/log/test.log | sort | uniq -cHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele glauben, die ERROR-Zeile nenne die Ursache. Das stimmt nicht. Sie zeigt nur, wo der Fehler auffiel. Die Ursache steht oft in den Zeilen davor. Lies darum immer ein paar Zeilen vor dem ersten ERROR mit.
Fehlersuche geht in fünf Schritten
Gute Administration ist kein Raten. Du beschreibst den Fehler genau, liest das Protokoll und stellst eine Vermutung auf. Dann änderst du eine Sache und testest.
Hilft es nicht, machst du die Änderung rückgängig und probierst die nächste Vermutung. So weißt du am Ende, was wirklich geholfen hat.
Den Statuscode einer vorhandenen Seite ansehen
curl -s --noproxy "*" -o /dev/null -w "%{http_code}\n" http://localhost:8000/hello.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Den Statuscode einer fehlenden Seite ansehen
curl -s --noproxy "*" -o /dev/null -w "%{http_code}\n" http://localhost:8000/fehlt.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Eine Fehlermeldung lesen
cat /var/log/gibtesnicht.logHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.