next up previous contents
Next: Syslog und SNMP Management Up: Einführung Previous: Einführung

Der Syslog-Daemon

Der Syslog-Daemon ist ein an der Universität von Berkeley entwickeltes Systemwerkzeug, welches den Anwendungs- und Systemprogrammen eine standardisierte Schnittstelle (API) bietet, um Nachrichten, Warnungen und Fehler zu protokollieren. Der Syslog-Daemon ist heute fester Bestandteil von allen BSD und System V Unix-Varianten. Der Vorteil für den Programmierer liegt darin, daß er sich nicht selbst um das Handling von Logdateien und um die Auswahl und Menge von Lognachrichten kümmern muß. Er schickt einfach alle Nachrichten an den Syslog-Daemon, wo die weitere Verarbeitung erfolgt.
Der Vorteil für den Anwender liegt darin, daß er nicht für jedes Programm das Logging einzeln konfigurieren muß. Stattdessen legt er einmal alle Einstellungen zentral in einer Konfigurationsdatei fest. Die Einstellungen gelten sodann für alle Programme, die sich des Syslog API bedienen.
Jede Nachricht, die ein Programm an den Syslog Daemon sendet, wird dabei über die zwei Parameter Facility und Severity eindeutig klassifiziert.
Der Parameter Facility spezifiziert dabei, was für eine Art Programm die Nachricht sendet. Dies erlaubt es, Lognachrichten von verschiedenen Klassen von Programmen, unterschiedlich zu behandeln. Die folgenden Facilities werden dabei in /usr/include/syslog.h zur Verfügung gestellt.

Der Parameter Severity gibt den Informationsgehalt einer Nachricht bzw. die Schwere eines aufgetretenen Fehlers an. Die folgenden Severities stehen dabei (in absteigender Wichtigkeit) zur Verfügung:

Wenn ein Programm nun Nachrichten über den Syslog Daemon protokollieren möchte, so benutzt es die Funktionen openlog(), syslog() und closelog() der C Runtime Library. Auch diese Funktionen werden über /usr/include/syslog.h eingeschlossen. Der Daemon nimmt die Nachrichten des Programms entgegen und schreibt sie in die entsprechenden Log Dateien.

Um festzulegen, welche Meldungen in welche Logdatei geschrieben werden, konfiguriert der Anwender den Syslog Daemon über die Datei /etc/syslog.conf. Diese Konfigurationsdatei setzt sich aus Paaren von Regeln und Zielen zusammen. Das Regelfeld selektiert dabei die Nachrichten, das Zielfeld gibt an, in welche Datei die Nachrichten geschrieben werden sollen. Ein typischer Aufbau könnte z.B. so aussehen:

kern.crit            /dev/console
mail.*;mail.!=info   /var/adm/mail
mail,news.=info      /var/adm/info
Die erste Pattern erkennt alle Nachrichten der Facility Kernel mit der Priorität Critical und höher und schreibt diese auf die Bildschirmkonsole.
Die zweite Regel erkennt alle Nachrichten der Mail Facility, die nicht die Priorität Info haben und schreibt diese in die Datei /var/adm/mail.
Das letzte Pattern schließlich matcht alle Nachrichten der Mail und News Facilities, die genau die Priorität Info haben und schreibt diese in die Datei /var/adm/info.


next up previous contents
Next: Syslog und SNMP Management Up: Einführung Previous: Einführung
Copyright Munich Network Management Team