Systemprotokollierung
100%

Protokollierung · Lektion 1

Systemprotokollierung

Lerne, wie Linux-Protokollquellen, Datensammler, Speicher und Anzeigewerkzeuge zusammenwirken.

Protokolle zeichnen Ereignisse auf, die vom Kernel, von Diensten, Anwendungen und Sicherheitskomponenten ausgegeben werden. Sie unterstützen Fehlersuche und Audits, aber nur, wenn die Erfassung funktioniert, Zeitstempel richtig verstanden werden und die betreffende Quelle einbezogen ist.

Den Weg einer Protokollnachricht verfolgen

Ein Protokollierungsweg besteht aus mehreren unterschiedlichen Teilen:

  1. Eine Quelle gibt ein Ereignis aus.
  2. Ein Datensammler nimmt es an und reichert es an.
  3. Weiterleitungs- und Aufbewahrungsregeln wählen Speicher- oder Weiterleitungsziele aus.
  4. Ein Anzeigewerkzeug fragt die gespeicherten Datensätze ab.

Auf einem systemd-Host sammelt systemd-journald gewöhnlich die Standardausgabe von Diensten, Kernelmeldungen sowie native Journal- oder Syslog-Nachrichten. Ein Syslog-Daemon wie rsyslog kann ebenfalls Nachrichten empfangen und herkömmliche Textdateien schreiben oder sie weiterleiten. Anwendungen können stattdessen eigene Dateien oder externe Telemetrie verwalten.

Welche Komponente entscheidet, wo angenommene Nachrichten gespeichert oder wohin sie weitergeleitet werden?

Verfügbare Protokolle ermitteln

Nimm nicht an, dass jeder Host dieselben Dateien besitzt. Untersuche die aktiven Protokollierungsdienste und die lokale Konfiguration:

$ systemctl --type=service --state=running | grep -E 'journal|syslog'
$ ls -la /var/log
$ journalctl --disk-usage

/var/log/syslog ist auf Systemen der Debian-Familie mit entsprechender Weiterleitung verbreitet, während andernorts häufig /var/log/messages verwendet wird. Auf einem reinen Journal-Host kann jede dieser Dateien fehlen. Die Anwendungsdokumentation und Unit-Konfiguration können weitere Ziele erkennen lassen.

Was bedeutet eine fehlende Datei /var/log/syslog zwingend?

Das Journal abfragen

Beginne mit einer begrenzten Abfrage, statt das gesamte Journal auszugeben:

$ journalctl -b -p warning
$ journalctl -u ssh.service --since '1 hour ago'

-b wählt den aktuellen Bootvorgang aus, -p filtert nach Priorität und -u nach einer Unit. Unit-Namen und aufbewahrte Bootvorgänge unterscheiden sich je nach Host. Verwende journalctl --list-boots, um verfügbare Bootvorgänge zu sehen, und journalctl -f, um neue Datensätze während der Reproduktion eines Problems zu verfolgen.

Welche Option beschränkt eine journalctl-Abfrage auf den aktuellen Bootvorgang?

Datensätze im Zusammenhang lesen

Eine herkömmliche Zeile im Syslog-Stil kann so aussehen:

Jan 27 07:41:32 icebox anacron[4650]: Job `cron.weekly' started

Sie enthält einen Zeitstempel, Host, Programm und PID sowie anschließend eine Nachricht. Behandle den Nachrichtentext als Anwendungsausgabe und nicht als garantiert strukturierte Tatsache. Prüfe Zeitzone, Uhrsynchronisierung, Boot-ID, Wiederverwendung von PIDs und Datensätze unmittelbar vor und nach dem Ereignis. Journalfelder können stärkere Kennungen liefern als nur der dargestellte Text.

Protokolle können Benutzernamen, Adressen, Pfade, Token oder andere vertrauliche Daten enthalten. Verwende Zugriff mit geringstmöglichen Berechtigungen, schwärze Exporte und bewahre während einer Untersuchung Originale und Zeitstempel.

Was solltest du tun, bevor du einen Protokollauszug extern weitergibst?

Lektion abgeschlossen

Sie haben Systemprotokollierung abgeschlossen

Du kannst Linux-Protokolle nun auffinden und abfragen, ohne einen allgemeingültigen Speicherpfad anzunehmen.

  • Trenne Ereignisquellen, Datensammler, Weiterleitung, Speicher und Anzeigewerkzeuge.

  • Ermittle die aktive Protokollierungskonfiguration des Hosts.

  • Verwende begrenzte Journalabfragen für eine Unit, einen Bootvorgang, Zeitraum oder eine Priorität.

  • Setze Datensätze in Zusammenhang und schütze vertrauliche Protokolldaten.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Protokollierung