syslog
100%

Protokollierung · Lektion 2

syslog

Lerne, wie Syslog-Facilities, Schweregrade, Weiterleitungsregeln und der Befehl logger funktionieren.

Syslog definiert ein Nachrichtenmodell und Transportkonventionen, die von vielen Unix-artigen Systemen verwendet werden. Rsyslog ist eine Implementierung, die Nachrichten empfangen, filtern, umwandeln, speichern und weiterleiten kann. Es kann neben systemd-journald bestehen; keiner der Namen bedeutet, dass jede Anwendung diesen Weg verwendet.

Facilities und Schweregrade

Eine Syslog-Nachricht enthält eine Facility, die ihre grobe Quellkategorie beschreibt, und einen Schweregrad von Notfall bis Debug. Zu den häufigen Facilities gehören auth, cron, daemon, kern, mail, user sowie local0 bis local7.

Schweregrade sind geordnet. In der klassischen Selektorsyntax entspricht daemon.warning normalerweise Daemon-Nachrichten mit dem Schweregrad Warnung und allen schwerwiegenderen Stufen, nicht nur Warnungen. Eine genaue Übereinstimmung verwendet bei Implementierungen, die die klassische Syntax unterstützen, einen Gleichheitsmodifikator wie daemon.=warning.

Was erfasst ein klassischer Selektor wie daemon.warning normalerweise?

Rsyslog-Regeln lesen

Rsyslog lädt gewöhnlich eine Hauptdatei und Ausschnitte unter /etc/rsyslog.d/. Eine herkömmliche Regel besteht aus einem Selektor, gefolgt von einer Aktion:

auth,authpriv.*          /var/log/auth.log
*.*;auth,authpriv.none  -/var/log/syslog
kern.*                  /var/log/kern.log

Die erste Zeile leitet alle Prioritäten zweier Authentifizierungs-Facilities weiter. Die zweite wählt Nachrichten breit aus und schließt diese Facilities aus. Die dritte leitet Nachrichten der Kernel-Facility weiter. Ein vorangestelltes - bei einer Dateiaktion fordert gewöhnlich asynchrone Schreibvorgänge an; es bedeutet keinen Ausschluss.

Untersuche alle eingebundenen Dateien und validiere die genaue Syntax der installierten Version, bevor du die Weiterleitung in einer Produktionsumgebung änderst.

Was ist in einer herkömmlichen Rsyslog-Regel die Aktion?

Eine Testnachricht senden

Verwende logger, um einen kontrollierten Test mit eindeutigem Tag und einer Priorität einzureichen:

$ logger -p user.notice -t lesson-test 'routing check 2026-08-31T10:00'

Frage anschließend das erwartete Ziel ab, zum Beispiel:

$ journalctl -t lesson-test --since '5 minutes ago'

Dasselbe Ereignis kann abhängig von Weiterleitung und Routing im Journal und in einer Textdatei erscheinen. logger -s kopiert die Nachricht zusätzlich in die Standardfehlerausgabe; dies beweist keine dauerhafte Speicherung.

Was fügt logger -t lesson-test der eingereichten Nachricht hinzu?

Weiterleitung ändern und überprüfen

Sichere vor einer Änderung die aktuelle Konfiguration und ermittle nachgelagerte Verbraucher. Validiere die Syntax mit dem Konfigurationsprüfmodus der Implementierung, gewöhnlich:

$ sudo rsyslogd -N1

Erst nach der Validierung solltest du den Dienst über seinen Manager neu laden. Sende eine neue markierte Nachricht, überprüfe jedes erforderliche Ziel und prüfe Dienstzustand sowie interne Fehlerprotokolle. Eine syntaktisch gültige Regel kann dennoch zu breit weiterleiten, Datensätze duplizieren oder vertrauliche Daten offenlegen.

Bei der Weiterleitung über nicht vertrauenswürdige Netzwerke sollte authentifizierter, verschlüsselter Transport verwendet werden. UDP-Zustellung besitzt keine Ende-zu-Ende-Bestätigung. Kritische Audit-Anforderungen benötigen daher einen Entwurf, der Warteschlangen, Verluste, Integrität, Zugriffskontrolle und Ausfälle des Empfängers berücksichtigt.

Welche Belege reichen aus, dass eine neue Weiterleitungsregel funktioniert?

Lektion abgeschlossen

Sie haben syslog abgeschlossen

Du kannst die Syslog-Weiterleitung nun von den Nachrichtenmetadaten bis zum konfigurierten Ziel testen.

  • Unterscheide Facilities von geordneten Schweregraden.

  • Lies Selektoren getrennt von ihren Aktionen.

  • Sende mit logger ein markiertes Ereignis mit Priorität.

  • Validiere die Konfiguration und überprüfe die Zustellung von Ende zu Ende.

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