Rsyslog

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Allgemein

Daemon zur Verarbeitung von System- und Kernelnachrichten. Rsyslog ist eine quelloffene Implementierung des syslog-Protokolls für Unix und Unix-ähnliche Systeme. Es erweitert das ursprüngliche syslogd-Modell mit inhaltsbasierender Filterung, umfassenden Einsatzmöglichkeiten für Filter, flexible Konfigurationsoptionen und fügt wichtige Merkmale, wie TCP als Übermittlungsprotokoll, hinzu.

Protokoll

Die wichtigsten Ableger des ursprünglichen Protokolls die von rsyslog unterstützt werden sind:

  • ISO-8601-Zeitstempel mit Unterscheidung von Millisekunden und Zeitzoneninformationen
  • Die Beigabe des Namens einer Relaystation im Host-Feld, um es möglich zu machen den Weg der Nachricht zurückzuverfolgen
  • Verlässlicher Transport über TCP
  • Unterstützung der GSSAPI und TLS
  • Direkte Protokollierung mit Hilfe verschiedener Datenbankanbindungen
  • Unterstützung für die neue syslog-RFC-Serie der IETF
  • Unterstützung für gepufferte Funktionsweisen, bei denen Nachrichten lokal gepuffert werden, falls der Empfänger noch nicht bereit ist

Seine wichtigsten System-Dateien sind

  • /etc/default/rsyslog
  • /etc/init.d/rsyslog - Symlink zum Upstart-Initskript (siehe nächster Punkt)
  • /etc/init/rsyslog.conf
  • /etc/rsyslog.conf
  • /etc/rsyslog.d/50-default.conf - die zentrale Konfigurationsdatei
  • /usr/sbin/rsyslogd - die Programmdatei

Konfigdateien

  • /etc/rsyslog.conf
module(load="imuxsock") # provides support for local system logging
module(load="imklog")   # provides kernel logging support
$KLogPermitNonKernelFacility on
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$RepeatedMsgReduction on
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
$WorkDirectory /var/spool/rsyslog
$IncludeConfig /etc/rsyslog.d/*.conf

Konfiguration - /etc/rsyslog.conf - /etc/rsyslog.d/*

3 Arten von Statements:

sysklogd

Dabei handelt es sich um die alte Syntax. Zur Konfiguration von einfachen Sachverhalten.

mail.*                          /var/log/mail.log
mail.err                        /var/log/mail.err

legacy rsyslog

Beginnen mit einem $-Zeichen. Zum Setzen von Konfigurationsparametern.

$FileOwner syslog

RainerScript

Neues Format.


Generator für eine Konfigurationsdatei: http://www.rsyslog.com/rsyslog-configuration-builder/

Templates - Anpassen des Ausgabeformates

$template MyOwnFormat,"Debug line with all properties:\nFROMHOST: '%FROMHOST%', HOSTNAME: '%HOSTNAME%', PRI: %PRI%,\nsyslogtag '%syslogtag%',
programname: '%programname%', APP-NAME: '%APP-NAME%', PROCID: '%PROCID%', MSGID:  '%MSGID%',\nTIMESTAMP: '%TIMESTAMP%', STRUCTURED-DATA: '%STRUCTURED-DATA%',
\nmsg: '%msg%'\nescaped msg: '%msg:::drop-cc%'\nrawmsg: '%rawmsg%'\n\n"

*.*;auth,authpriv.none          /var/log/syslog;MyOwnFormat


Quellen