Inhaltsverzeichnis
Als Multitasking- und Serverbetriebssystem muß Unix eine Möglichkeit haben, die laufenden Meldungen und Vorkommnisse im Systembetrieb zu protokollieren und eventuell selbstständig auf bestimmte Dinge zu reagieren. Dazu läuft auf nahezu jedem Unix-System ein spezieller Daemonprozess, der ein Systemlogbuch schreibt, der syslogd.
Linux Syslog – sammelt alle Infos
Dieser Daemon empfängt Meldungen von anderen Prozessen und reagiert auf diese in unterschiedlicher Art und Weise. Das grundlegende Prinzip ist das, dass jedes Programm in der Lage ist, Meldungen bestimmter Prioritäten an den syslogd zu schicken. Das muß natürlich der Programmierer des jeweiligen Programms so festgelegt haben.
Der syslogd empfängt diese verschiedenen Meldungen und reagiert in unterschiedlicher Weise darauf, je nachdem, welche Herkunft und Priorität eine solche Meldung hat.
Wie der Daemon auf welche Meldungen reagieren soll ist selbstverständlich einstellbar, es ist die Aufgabe des Systeverwalters, eine vernünftige Einstellung vorzunehmen. Alle Anweisungen, was der Daemon tun soll, werden in der Datei /etc/syslog.conf vorgenommen.
Die Datei /etc/syslog.conf
Die Datei /etc/syslog.conf hat ein einfaches Format. Jede Zeile, die nicht mit einem Doppelkreuz (#) beginnt, beschreibt eine Regel, was mit einer Meldung geschehen soll. Das grundsätzliche Format jeder Zeile ist dabei:
Herkunft.Priorität Aktion
Dabei können in einer Zeile sowohl mehrere Herkunftskategorien (durch Kommas getrennt) angegeben werden, als auch mehrere Herkunft.Prioritäts Paare (durch Strichpunkt getrennt). Beide Angaben können durch ein Sternchen (*) als Wildcard ersetzt werden. In diesem Fall sind dann alle Herkunftsarten bzw. alle Prioritäten gemeint.
Für Herkunft, Priorität und Aktion sind die folgenden Werte gültig:
Herkunftskategorien
kern | Systemmeldungen direkt vom Kernel |
---|---|
auth | Meldungen vom Sicherheitsdienst des Systems (login, …) |
authpriv | Vertrauliche Meldungen der internen Sicherheitsdienste |
Meldungen des Mail-Systems | |
news | Meldungen des News-Systems |
uucp | Meldungen des UUCP-Systems |
lpr | Meldungen des Druckerdaemons |
cron | Meldungen des Cron-Daemons |
syslog | Meldungen des syslog-Daemons selbst |
daemon | Meldungen aller anderer Daemon-Prozesse |
user | Meldungen aus normalen Anwenderprogrammen |
local0-local7 | frei verwendbar |
Prioritäten in absteigender Reihenfolge
emerg | Der letzte Spruch vor dem Absturz |
---|---|
alert | Alarmierende Nachricht, die sofortiges Eingreifen erforderlich macht |
crit | Meldung über eine kritische Situation, die gerade nochmal gut gegangen ist |
err | Fehlermeldungen aller Art aus dem laufenden Betrieb |
warn | Warnungen aller Art aus dem laufenden Betrieb |
notice | Dokumentation besonders bemerkenswerter Situationen im Rahmen des normalen Betriebs |
info | Protokollierung des normalen Betriebsablaufes |
debug | Mitteilungen interner Programmzustände bei der Fehlersuche |
none | Ist keine Priorität im eigentlichen Sinn, sondern dient zum Ausschluß einzelner Herkünfte |
Eine angegebene Priorität meint immer die genannte oder eine höhere. Wenn jedoch vor der Priorität ein Gleichheitszeichen (=) steht, so ist nur die genannte Priorität gemeint.
Aktionen
Eine Aktion ist immer eine Weiterleitung einer Nachricht. Es gibt vier verschiedene Arten, wie solche Nachrichten weitergeleitet werden können:
- Ausgabe der Nachricht in eine Datei.
Dazu muß als Aktion der Dateiname mit absolutem Pfad (mit führendem Slash) angegeben werden. Normalerweise wird nach jedem Schreibvorgang des Syslog-Daemons eine Synchronisation des Dateisystems durchgeführt, weil sonst evt. Nachrichten bei einem Absturz nicht mehr physikalisch in die Datei geschrieben werden. Das ist allerdings eine sehr zeitaufwendige Aktion, daher gibt es die Möglichkeit, diese Synchronisation zu übergehen. Dazu wird dem absoluten Pfadnamen ein Bindestrich (-) vorangestellt. - Weiterleitung der Nachricht an einen Syslog-Daemon eines anderen Rechners im Netz.
Dazu muß als Aktion der Rechnername des Rechners angegeben werden, an dessen Syslog-Daemon die Messages geschickt werden sollen. Dem Rechnernamen muß ein Klammeraffe (@) vorangestellt werden. Damit der angesprochene Syslog-Daemon auf dem anderen Rechner auch die Meldungen annimmt, muß er mit der Kommandozeilenoption -r (remote) gestartet worden sein. - Ausgabe der Nachricht auf den Bildschirm von bestimmten Usern
Durch die Nennung des Usernamens (oder einer durch Kommas getrennten Liste von Usernamen) wird die Nachricht auf dem Bildschirm dieser User angezeigt, sofern sie eingeloggt sind. - Ausgabe der Nachricht auf den Bildschirm aller eingeloggten User
In diesem Fall steht einfach ein Sternchen (*) im Aktionsfeld.
Beispieldatei
Im Folgenden wird eine einfache /etc/syslog.conf Datei dargestellt und die einzelnen Zeilen werden kommentiert:
# Die folgende Zeile schreibt alle Meldungen der Herkunft Kernel und der # Priorität größer gleich Warnung (kern.warn), sowie alle Meldungen der # Priorität größer gleich Error (*.err) außer den Meldungen der Herkunft # authpriv (authpriv.none) in die Datei /dev/tty10 - das ist die Gerätedatei # für das Terminal, das mit Alt-F10 aktiviert wird. kern.warn;*.err;authpriv.none /dev/tty10 # Alle Meldungen der Priorität emerg und höher werden allen Usern auf den Bildschirm # geschrieben. *.emerg * # Alle Meldungen der Kategorie alert und höher werden den Usern root und efka - sofern # sie eingeloggt sind - auf den Bildschirm geschrieben. *.alert root,efka # Die nächste Zeile schreibt alle Meldungen, die vom Mail-System kommen, # egal welcher Priorität, in die Datei /var/log/mail. Damit nicht zuoft eine # Synchronisation des Dateisystems vorkommt, ist dem Dateinamen ein # Bindestrich vorangestellt. mail.* -/var/log/mail # Die nächsten drei Zeilen schreiben # - die kritischen Meldungen des News-Systems in die Datei # /var/log/news/news.crit # - die Fehlermeldungen des Newssystems in die Datei /var/log/news/news.err # - die bemerkenswerten Meldungen des News Systems in die Datei # /var/log/news/news.notice # Alle Dateien werden nicht sofort synchronisiert (-) news.=crit -/var/log/news/news.crit news.=err -/var/log/news/news.err news.=notice -/var/log/news/news.notice # Alle Warnungen, egal woher sie kommen werden in die Datei # /var/log/warn geschrieben. Weil es Warnungen sind wird diese Datei nach # jedem Schreibzugriff synchronisiert, der führende Bindestrich vor dem # Dateinamen fehlt. *.=warn /var/log/warn # Alles, außer Meldungen des Mail- und Newssystems, wird in die Datei # /var/log/messages geschrieben. *.*;mail.none;news.none /var/log/messages
Hallo Ubuntu-User.
Wenn ich beim Booten von Ubuntu oder im Laufenden System Fehler Feststelle möchte ich wissen wer oder was diesen Fehler verursacht und warum.
Ich öffne das Terminal mit root Rechten.
su
Passwort
Danach gehe ich in diesen Ordner mit cd /var/log/
Dann öffne ich die Datei syslog mit einem Editor. Die Datei Lebt und ändert sich in Minuten im Laufendem System.
Ich Speicher diese Datei mit Speichern Unter als syslog-Da.tu.m.txt
Nach dem Kopieren in den Home Ordner öffne ich die Datei.
Dort Suche ich nach error, failed und Lese die Informationen die dahinter stehen.
Beispiel:
Aug 23 00:26:08 administrator-OEM gsd-sharing[1621]: Failed to StopUnit service: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
Aug 23 00:26:08 administrator-OEM gsd-sharing[1621]: message repeated 3 times: [ Failed to StopUnit service: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1]
Beispiel System-Logbuch 24.08.23-Ubuntu 22.04.1 DVD Live
/var/log/syslog-24.08.23.txt
Failed to start
Ich möchte nicht alle Fehler Zeigen. Wichtig ist der vierte.
Es ist nur der Desktop Bildschirm zu sehen Englisch ohne Abfrage der Sprache Deutsch.
.
Aug 24 05:54:14 ubuntu systemd[1]: Failed to start Network Manager.
.
Aug 24 05:54:20 ubuntu systemd[1]: Failed to start Snap Daemon.
.
Aug 24 05:54:27 ubuntu systemd[1]: Failed to start Dispatcher daemon for systemd-networkd.
.
Aug 24 05:59:51 ubuntu systemd[1]: Failed to start Ubuntu live CD installer.
.