IT-Systeme Hardware und Betriebssysteme – Systemprotokolle gezielt auswerten
Einleitung
IT-Systeme Hardware und Betriebssysteme – Systemprotokolle gezielt auswerten
Zielgruppe: IT-Ausbildung (z. B. Fachinformatik), 6 kurze Lerneinheiten und ein Offline-Labor. Leitfrage: Welches Ereignis trat wann auf, und welcher Fehler könnte den nächsten erklären?
Du kannst danach Zeitstempel vergleichen, Meldungsquelle und Schweregrad lesen, einen Fehlerverlauf visualisieren und eine prüfbare Hypothese formulieren.
Sicherheitsrahmen: Verwende ausschließlich die unten eingebauten fiktiven Daten. Das Python-Labor läuft ohne Netzwerk, Fremdserver, Zugangsdaten oder Zugriff auf echte Protokolle. Erweiterungen sind nur in einer eigenen isolierten oder ausdrücklich autorisierten Übungsumgebung zulässig. Keine Produktivsysteme, fremden Netze oder Kundendaten untersuchen, verändern oder übertragen.

Bild: Die Ebene des Betriebssystems vermittelt zwischen Anwendung und Hardware. Quelle: Wikimedia Commons, mlibre, CC0.
Lernpfad in sechs Lerneinheiten
Hardware, Betriebssystem und Meldungsquelle – 8 Minuten

Bild: Beispiel einer SSD. Quelle: Raimond Spekking, CC BY-SA 4.0.
Ein Speichermedium gehört zur Hardware. Das Betriebssystem verwaltet Geräte und Dateisysteme; Anwendungen und Dienste melden eigene Ereignisse. Ein gemeldeter Schreibfehler ist nicht automatisch ein Hardwaredefekt: Auch ein volles Dateisystem kann ihn auslösen.
Mini-Auftrag: Ordne die Begriffe Speicher, Betriebssystem, Anwendung und Überwachung der möglichen Meldungsquelle zu.
Ereignisse lesen – 8 Minuten
Eine Logdatei enthält typischerweise Zeitstempel, Quelle, Schweregrad und Meldung. INFO bedeutet nicht zwingend „alles gut“, WARN weist auf ein Risiko hin und ERROR auf einen protokollierten Fehler. Die Bedeutung hängt vom jeweiligen System ab.
2026-04-14T06:42:02+00:00 | ERROR | storage | Schreiben nicht moeglich
Lies die Zeile: UTC-Zeit 06:42:02, Stufe ERROR, Quelle storage, ein fehlgeschlagener Schreibvorgang. Noch nicht bewiesen ist die technische Grundursache.
Windows und Linux: Wo stehen die Ereignisse? – 10 Minuten

Bild: Beispiel einer Windows-Ereignisanzeige. Quelle: RedomeID, CC BY-SA 4.0.
Windows: Die Ereignisanzeige bietet u. a. die Protokolle „System“ und „Anwendung“. Ereignis-ID 41 der Quelle Kernel-Power zeigt einen unerwarteten Neustart nach nicht ordnungsgemäßem Herunterfahren; sie beweist nicht allein dessen Ursache. Prüfe immer auch den Zeitraum davor und die genaue Ereignisquelle.
Video: HP Tech Matters, Einstieg in Windows Event Viewer. Externes Angebot.

Bild: Grafische Übersicht von systemd-Diensten, nicht das Journal selbst. Quelle: systemd-Entwickler, GPL.
Linux: Auf Systemen mit systemd zeigt journalctl Journal-Ereignisse. --since und --until begrenzen die Zeit, -u eine Unit und -p warning Warnungen sowie dringlichere Stufen. Die folgende Übung verwendet bewusst kein reales Journal.
Video: journalctl Basics – How to Easily Check Your Linux Logs. Externes Angebot.
Zeitbezug: Alle Uhren auf eine Linie bringen – 10 Minuten
Ausbildungsfall: In einer erfundenen Lern-VM „LAB-07“ ist eine Demo-Anwendung ab 08:42 Uhr nicht erreichbar. Im Fall A läuft vorher eine Testkopie. Alle Rohereignisse sind in UTC gespeichert; am 14. April 2026 gilt in Deutschland MESZ = UTC + 2 Stunden.
| UTC | MESZ | Ereignis im fiktiven Fall A |
|---|---|---|
| 06:41:00 | 08:41:00 | Testkopie beginnt |
| 06:41:40 | 08:41:40 | Speicherwarnung: nur vier Prozent frei |
| 06:42:02 | 08:42:02 | Schreibversuch schlägt fehl |
| 06:42:03 | 08:42:03 | Anwendung kann Konfiguration nicht speichern |
| 06:42:07 | 08:42:07 | Dienst startet nicht |
| 06:42:08 | 08:42:08 | Überwachung meldet Unerreichbarkeit |
| 06:46:05 | 08:46:05 | Anwendung ist im Modell wieder erreichbar |
Mini-Codebeispiel für die Zeitumrechnung (ebenfalls rein lokal und ohne Dateien):
from datetime import datetime, timedelta, timezone
utc = datetime.fromisoformat("2026-04-14T06:42:07+00:00")
mesz = utc.astimezone(timezone(timedelta(hours=2)))
print(mesz.strftime("%H:%M:%S MESZ"))
Ausgabe: 08:42:07 MESZ. Der feste Versatz gilt hier nur für den genannten Falltag.
Ereignisdichte als Textdiagramm (Fall A, UTC):
06:40 | # 1 06:41 | ## 2 06:42 | #### 4 06:46 | ### 3
Merke: Nur synchronisierte Uhren und dieselbe Zeitzone erlauben eine sinnvolle Reihenfolge. Zeitliche Nähe ist ein Hinweis, kein Kausalitätsbeweis.
Fehlerkette statt Fehlersammlung – 10 Minuten

Bild: Speicherbelegung als Ringdiagramm, Beispielbild und keine Messung des Lernfalls. Quelle: Aastha Sethi, CC BY-SA 3.0.
Fall A – plausible Kette: wenig freier Platz → Schreiben scheitert → Konfiguration fehlt → Dienststart scheitert → Anwendung nicht erreichbar.
Fall B – Gegenfall: 62 Prozent frei → fehlerhafte Testkonfiguration → Dienststart scheitert → Anwendung nicht erreichbar. Gleiches Symptom, andere plausible Ursache.
Video: Linux logging tools from SystemD to RSyslog – zusätzliche Einordnung. Externes Angebot.
Einen Befund dokumentieren – 8 Minuten
Halte vier Punkte fest: Beobachtung (mit Zeit und Quelle), Hypothese (warum passt sie?), Gegenprobe (welche Daten widersprechen?) und sichere Maßnahme (nur im Modell). Trenne Feststellungen, Vermutungen und noch offene Fragen.
Beispiel: „Ab 08:42:02 MESZ zeigen die fiktiven Meldungen Schreibprobleme. Speicherplatzmangel ist plausibel; eine gesicherte Hardwarediagnose liegt nicht vor.“
Offline-Labor: Zwei isolierte Testumgebungen
Voraussetzung: Python 3.9 oder neuer auf Deinem eigenen Rechner. Speichere den folgenden Code als protokolllabor.py und starte ihn lokal mit python protokolllabor.py oder python3 protokolllabor.py. Kein Paket, kein Login, kein Netz und kein Schreibzugriff notwendig. Fall A simuliert knappen Speicher, Fall B einen Konfigurationsfehler.
Probiere nacheinander: alle Ereignisse → nur WARN/ERROR → Quelle storage oder app → Balkendiagramm → Hypothesentest. Achte auf die Umrechnung UTC/MESZ; das Diagramm verwendet UTC.
from collections import Counter
from datetime import datetime, timedelta, timezone
# Nur erfundene Datensaetze; keine Dateien, Netzwerke oder Systemlogs.
FAELLE = {
"A": [
("2026-04-14T06:40:00+00:00", "INFO", "system", "Lern-VM gestartet"),
("2026-04-14T06:41:00+00:00", "INFO", "backup", "Testkopie begonnen"),
("2026-04-14T06:41:40+00:00", "WARN", "storage", "Nur vier Prozent frei"),
("2026-04-14T06:42:02+00:00", "ERROR", "storage", "Schreiben nicht moeglich: Platz fehlt"),
("2026-04-14T06:42:03+00:00", "ERROR", "app", "Konfiguration nicht gespeichert"),
("2026-04-14T06:42:07+00:00", "ERROR", "service", "Start scheitert: Konfiguration unvollstaendig"),
("2026-04-14T06:42:08+00:00", "ERROR", "monitor", "Demo-App nicht erreichbar"),
("2026-04-14T06:46:00+00:00", "INFO", "lab", "Platz im Modell freigegeben"),
("2026-04-14T06:46:03+00:00", "INFO", "service", "Start im Modell erfolgreich"),
("2026-04-14T06:46:05+00:00", "INFO", "monitor", "Demo-App erreichbar"),
],
"B": [
("2026-04-14T06:40:00+00:00", "INFO", "system", "Lern-VM gestartet"),
("2026-04-14T06:41:15+00:00", "INFO", "change", "Testkonfiguration geaendert"),
("2026-04-14T06:41:40+00:00", "INFO", "storage", "Freier Speicher: 62 Prozent"),
("2026-04-14T06:42:02+00:00", "ERROR", "app", "Syntaxfehler in Testkonfiguration"),
("2026-04-14T06:42:07+00:00", "ERROR", "service", "Start scheitert: ungueltige Konfiguration"),
("2026-04-14T06:42:08+00:00", "ERROR", "monitor", "Demo-App nicht erreichbar"),
("2026-04-14T06:46:00+00:00", "INFO", "change", "Syntax im Modell korrigiert"),
("2026-04-14T06:46:03+00:00", "INFO", "service", "Start im Modell erfolgreich"),
("2026-04-14T06:46:05+00:00", "INFO", "monitor", "Demo-App erreichbar"),
],
}
MESZ = timezone(timedelta(hours=2)) # Gilt fuer diesen Falltag.
def anzeigen(eintraege):
for zeit, stufe, quelle, meldung in sorted(eintraege):
lokal = datetime.fromisoformat(zeit).astimezone(MESZ)
print(lokal.strftime("%H:%M:%S") + " MESZ | " +
stufe.ljust(5) + " | " + quelle.ljust(7) + " | " + meldung)
def balken(eintraege):
haeufigkeit = Counter(zeit[11:16] for zeit, _, _, _ in eintraege)
for minute, anzahl in sorted(haeufigkeit.items()):
print(minute + " UTC | " + "#" * anzahl + " " + str(anzahl))
def lernlabor():
fall = input("Fall A Speicher / B Konfiguration [A]: ").strip().upper()
if fall not in FAELLE:
fall = "A"
daten = FAELLE[fall]
while True:
print("\n1 Alle 2 Warnung+Fehler 3 Quelle 4 Balken 5 Test 0 Ende")
auswahl = input("Auswahl: ").strip()
if auswahl == "0":
break
elif auswahl == "1":
anzeigen(daten)
elif auswahl == "2":
anzeigen([e for e in daten if e[1] in ("WARN", "ERROR")])
elif auswahl == "3":
quelle = input("Quelle (z.B. storage, app, service): ").strip().lower()
anzeigen([e for e in daten if e[2] == quelle])
elif auswahl == "4":
balken(daten)
elif auswahl == "5":
antwort = input("Plausibler Ausloeser? A Platz B Syntax C Netz: ").strip().upper()
richtig = "A" if fall == "A" else "B"
if antwort == richtig:
print("Richtig: Vor dem Dienstausfall liegt ein passender Befund.")
else:
print("Noch nicht: Vergleiche den ersten sachbezogenen Fehler.")
print("Zeitfolge stuetzt eine Hypothese; sie beweist keine Ursache.")
else:
print("Bitte 0 bis 5 waehlen.")
if __name__ == "__main__":
lernlabor()
Geprüfte Beispielausgabe bei Fall A: Die Speicherwarnung erscheint um 08:41:40 MESZ, der erste Schreibfehler um 08:42:02 MESZ, der Dienstausfall um 08:42:07 MESZ. Der Hypothesentest liefert zu A als Antwort A begründetes Feedback. Bei Fall B ist B die plausiblere Antwort. Die Modelle illustrieren Hinweise, keine absolute Gewissheit.
Gestufte Hilfen
Hilfe 1 – Orientierung: Starte mit der ersten Meldung, die vor dem Ausfall einen sachlichen Fehler erkennen lässt.
Hilfe 2 – Eingrenzung: Nutze Menüpunkt 2; vergleiche anschließend storage, app und service mit Menüpunkt 3.
Hilfe 3 – Lösungshinweis: Fall A enthält die Warnung über wenig Speicher vor dem Schreibfehler; Fall B meldet ausdrücklich einen Syntaxfehler bei ausreichend freiem Speicher.
Begründetes Feedback für die drei Kompetenzstufen
| Stufe | Gelungene Leistung | Warum das überzeugt |
|---|---|---|
| Basis | Du nennst Zeit, Quelle, Stufe und Ereignis korrekt. | Ohne eindeutigen Zeitbezug ist keine Reihenfolge belastbar. |
| Anwendung | Du ordnest die Fehlermeldungen und unterscheidest frühe Hinweise von späten Symptomen. | Die Fehlerkette erklärt mehr als eine isolierte ERROR-Meldung. |
| Transfer | Du vergleichst A und B, formulierst eine Gegenhypothese und schlägst eine ungefährliche Gegenprobe im Modell vor. | Unterschiedliche Ursachen können zum selben Dienstausfall führen. |
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Welche Angabe verortet ein Ereignis zeitlich? (Zeitstempel) (!Prozessname) (!Gerätetyp) (!Dateiendung)
Welche Meldung kommt in Fall A vor dem Schreibfehler? (Warnung über knappen Speicher) (!Erfolgreicher erneuter Dienststart) (!Meldung der wieder erreichbaren Anwendung) (!Syntaxkorrektur der Konfiguration)
Wie spät ist es bei 06:42 UTC am 14. April 2026 in Deutschland? (08:42 MESZ) (!06:42 MESZ) (!07:42 MESZ) (!09:42 MESZ)
Was besagt die Meldung ERROR bei einem Schreibversuch? (Ein protokollierter Schreibvorgang ist fehlgeschlagen) (!Die SSD ist sicher defekt) (!Die Netzverbindung ist sicher unterbrochen) (!Der Rechner ist vollständig ausgeschaltet)
Was zeigt Windows Ereignis ID 41 der Quelle Kernel Power an? (Das System wurde ohne sauberes Herunterfahren neu gestartet) (!Das Netzteil ist sicher ausgefallen) (!Der Arbeitsspeicher ist sicher defekt) (!Eine Schadsoftware wurde sicher gefunden)
Was bewirkt journalctl mit der Option -p warning? (Es zeigt Warnungen und Meldungen höherer Dringlichkeit) (!Es löscht alle Warnungen) (!Es startet einen Dienst neu) (!Es synchronisiert die Systemuhr)
Welche Aussage über eine zeitliche Abfolge ist richtig? (Sie stützt eine Hypothese, beweist allein aber keine Ursache) (!Das früheste Ereignis ist immer die Ursache) (!Alle ERROR Meldungen haben dieselbe Ursache) (!Warnungen dürfen immer ignoriert werden)
Welche Daten verarbeitet das Python Offline Labor? (Ausschließlich fest eingebaute fiktive Ereignisse) (!Echte Kundenprotokolle) (!Fremde Netzwerkpakete) (!Gespeicherte Kennwörter)
Welcher Befund unterscheidet Fall B besonders deutlich von Fall A? (Ein protokollierter Syntaxfehler bei ausreichend freiem Speicher) (!Ein bestätigter SSD Defekt) (!Ein Ausfall eines fremden Servers) (!Eine erfolgreiche Anmeldung)
Welches Vorgehen ist für die Ausbildung geeignet? (Hypothese im lokalen Modell prüfen und Ergebnis dokumentieren) (!Produktivlogs ungefragt ins Internet hochladen) (!Fremde Rechner ohne Freigabe untersuchen) (!Fehlermeldungen auf Kundensystemen löschen)
Memory
| Zeitstempel | Zeitpunkt eines Ereignisses |
| Meldungsquelle | Erzeugendes Teilsystem |
| Warnstufe | Mögliche Beeinträchtigung |
| Fehlermeldung | Gescheiterter Vorgang |
| Zeitachse | Chronologische Darstellung |
| Gegenprobe | Prüfung einer Alternative |
Drag and Drop
| Ordne den passenden Begriff zu. | Bedeutung im Störungsfall |
|---|---|
| Speicherwarnung | Kaum freier Platz |
| Schreibfehler | Daten konnten nicht gespeichert werden |
| Konfigurationsfehler | Unvollständige oder ungültige Einstellungen |
| Dienststartfehler | Dienst läuft nach Startversuch nicht |
| Ausfallmeldung | Anwendung laut Überwachung nicht erreichbar |
Kreuzworträtsel
| Zeitstempel | Wie heißt die Angabe für den Zeitpunkt einer Meldung? |
| Kernel | Wie heißt der zentrale Betriebssystemkern? |
| Analyse | Wie nennt man die systematische Auswertung? |
| Quelle | Wie heißt das Feld für das meldende Teilsystem? |
| Journal | Wie heißt der systemd Speicher für Ereignismeldungen? |
| Backup | Wie heißt eine Datensicherung auf Englisch? |
LearningApps
Dies ist eine externe Suchseite, keine geprüfte einzelne LernApp. Öffne sie nur freiwillig und gib dort keine realen Protokolle oder personenbezogenen Daten ein.
Lückentext
Offene Aufgaben
Leicht – Basis:
Leicht
- Zeitstempel: Markiere im fiktiven Protokoll vier Angaben und erkläre ihre Rolle.
- Betriebssystem: Zeichne Hardware, Betriebssystem, Dienst und Anwendung als kleines Schichtenbild.
- Zeitzone: Übertrage drei Fall-A-Zeitpunkte von UTC in MESZ und begründe den Versatz.
- Logdatei: Gestalte drei eigene fiktive Protokollzeilen mit sinnvollen Schweregraden.
Standard – Anwendung:
Standard
- Fehleranalyse: Filtere beide Laborfälle auf WARN und ERROR und notiere den ersten Fehler je Fall.
- Visualisierung: Vergleiche die Balken beider Fälle und erkläre, warum viele Meldungen nicht zwingend viele Ursachen bedeuten.
- Dokumentation: Schreibe ein kurzes Störungsticket mit Beobachtung, Hypothese, Gegenbeleg und nächster sicherer Prüfung.
- Erklärvideo: Erstelle ein 60-Sekunden-Video oder Storyboard zur Ereignisfolge, ausschließlich mit fiktiven Daten.
Schwer – Transfer:
Schwer
- Hypothese: Untersuche, ob ein geplanter Neustart eine Alternative zum vermuteten Fehler sein könnte, und benenne die fehlenden Belege.
- Datenmodell: Ergänze im Python-Skript einen dritten fiktiven Fall mit eigener Ursache und mindestens fünf Ereignissen.
- Kausalität: Entwerfe eine Gegenprobe, die Platzmangel und Syntaxfehler im Modell voneinander trennt.
- Datenschutz: Entwickle eine Checkliste, wie Auszubildende reale Betriebsprotokolle vor jeder ausdrücklich genehmigten Verwendung schützen würden.


Lernkontrolle
- Ursachenanalyse: Zeige anhand von zwei konkreten Zeitpunkten, warum in Fall A der Dienstausfall eher Folge als erster Auslöser ist.
- Vergleich: Erkläre, weshalb in Fall B dieselbe Ausfallmeldung keine sichere Aussage über den Speicherplatz zulässt.
- Zeitbezug: Ein zweites fiktives System zeigt 06:42 UTC, das erste 08:42 MESZ. Begründe, ob die Meldungen gleichzeitig sein können.
- Gegenhypothese: Beschreibe einen möglichen Uhrfehler als Alternative und welche fiktiven Vergleichsdaten Du für eine Prüfung benötigst.
- Transfer: Entwirf für eine neue Demo-Störung eine sichere, nachvollziehbare Reihenfolge aus Beobachten, Filtern, Vergleichen und Dokumentieren.
- Fehlerbewertung: Begründe, warum selbst eine Windows-Kernel-Power-ID 41 allein keinen Netzteildefekt beweist.
Lernnachweis
Erstelle eine einseitige, ausschließlich fiktive Falldokumentation nur mit Modelldaten:
- Ereignistabelle mit mindestens sechs fiktiven Ereignissen und einheitlicher Zeitbasis.
- Visualisierung als Zeitachse oder Balkendiagramm mit korrekter Beschriftung.
- Zwei Hypothesen mit jeweils mindestens einem stützenden oder widersprechenden Befund.
- Gegenprobe für Fall A und B ausschließlich im Offline-Labor.
- Kurzfazit mit Unterscheidung von Beobachtung, Interpretation und offenem Prüfbedarf.
Bewertung: Basis = korrekt benennen; Anwendung = schlüssig ordnen; Transfer = Alternativen kritisch prüfen und Grenzen offenlegen.
OERs zum Thema
Der Wikipedia-Artikel ist eine ergänzende offene Ressource. Eingebettete YouTube-Videos und LearningApps sind externe Angebote; sie werden hier nicht als offen lizenzierte OER ausgegeben.
Fachliche Quellen und Medienrechte
Fachquellen (abgerufen und geprüft):
- systemd journalctl Manual – Zeit-, Unit- und Prioritätsfilter.
- Microsoft Learn: Ereignis-ID 41 – keine eindeutige Ursache allein aus dieser ID.
- Microsoft Learn: Get-WinEvent – Windows-Protokollabfragen.
- RFC 5424: Syslog Protocol – strukturierte Meldungsfelder und Prioritäten.
- Wikipedia: Logdatei – allgemeine Einordnung.
Bildquellen und Lizenzen (jeweils Dateiseite auf Wikimedia Commons):
- Linux kernel and Computer layers – mlibre, CC0.
- SSD-Foto – Raimond Spekking, CC BY-SA 4.0.
- Windows-Protokollansicht – RedomeID, CC BY-SA 4.0.
- systemd-ui – systemd-Entwickler, GPL.
- Disk Usage Analyzer – Aastha Sethi, CC BY-SA 3.0.
Mediennutzung: Die Bilder sind mit Lizenzhinweis eingebunden. Die drei YouTube-Videos werden über die jeweils verifizierte Videoseite eingebettet, nicht kopiert. Externe Einbindungen können schon beim Laden Verbindungen zu Dritten auslösen. Für einen vollständig offline durchgeführten Kurs nutze ausschließlich Text, Bildmaterial aus erlaubten lokalen Kopien und das Python-Labor; deaktiviere dazu externe Videos und das LearningApps-iFrame.
Verknüpfte Lernbereiche
aiMOOC-Projekte
Schulfach+


aiMOOCs


aiMOOC Projekte


MOOCwiki · Deutsch
Nach dem Lernen ist vor dem Lernen
Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.
Zur MOOCwiki-HauptseiteMediathek
Mediathek wird aus dem Wiki geladen ...
Keine passenden Inhalte gefunden. Bitte ändere Suche oder Filter.
NEWSLernweltNOAH fragen