syslog

> Betriebssystem Linux

> > # Das Systemlogbuch

> > 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.

> > 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
> > mail | 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:

> > 1. 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.
> > 2. 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.
> > 3. 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.
> > 4. 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

> > [ Kurs Hauptseite ] [ Linux-Kurse ] [ Startseite Linux-Praxis ]

> > © 1999, 2000, 2001 by F. Kalhammer