Rsyslog: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Allgemein=
+
*[[Rsyslog Grundlagen]]
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.
+
*[[Syslog Priority and Facility]]
=Protokoll=
+
*[[Rsyslog Dateien]]
Die wichtigsten Ableger des ursprünglichen Protokolls die von rsyslog unterstützt werden sind:
+
*[[Rsyslog Systemd]]
*ISO-8601-Zeitstempel mit Unterscheidung von Millisekunden und Zeitzoneninformationen
+
*[[Rsyslog Netzwerkports öffnen]]
*Die Beigabe des Namens einer Relaystation im Host-Feld, um es möglich zu machen den Weg der Nachricht zurückzuverfolgen
+
*[[Rsyslog Weiterleitung an einen Syslog Server]]
*Verlässlicher Transport über TCP
+
*[[Rsyslog Logger Test]]
*Unterstützung der GSSAPI und TLS
+
*[[Rsyslog Eigene Regeln]]
*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
 
<pre>
 
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
 
</pre>
 
 
 
 
 
=/etc/rsyslog.d/50-default.conf=
 
Die Datei  50-default.conf ist kompatible mit der [[syslog.conf]]  
 
<pre>
 
auth,authpriv.* /var/log/auth.log
 
*.*;auth,authpriv.none -/var/log/syslog
 
kern.* -/var/log/kern.log
 
mail.* -/var/log/mail.log
 
mail.err /var/log/mail.err
 
news.crit /var/log/news/news.crit
 
news.err /var/log/news/news.err
 
news.notice -/var/log/news/news.notice
 
*.emerg                                :omusrmsg:*
 
daemon.*;mail.*;\
 
news.err;\
 
*.=debug;*.=info;\
 
*.=notice;*.=warn |/dev/xconsole
 
</pre>
 
 
 
 
 
=systemctl status rsyslog.service=
 
<pre>
 
● rsyslog.service - System Logging Service
 
  Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
 
  Active: active (running) since Mo 2016-09-05 09:47:26 CEST; 2h 23min ago
 
    Docs: man:rsyslogd(8)
 
          http://www.rsyslog.com/doc/
 
Main PID: 3193 (rsyslogd)
 
    Tasks: 4 (limit: 512)
 
  CGroup: /system.slice/rsyslog.service
 
          └─3193 /usr/sbin/rsyslogd -n
 
 
 
Sep 05 09:47:25 bajor.xinux.org systemd[1]: Starting System Logging Service...
 
Sep 05 09:47:26 bajor.xinux.org systemd[1]: Started System Logging Service.
 
</pre>
 
=Udp Port in rsyslog.conf öffnen=
 
#provides UDP syslog reception
 
module(load="imudp")
 
input(type="imudp" port="514")
 
*systemctl restart rsyslog.service
 
*netstat -lnup | grep rsyslogd
 
udp        0      0 0.0.0.0:514            0.0.0.0:*                          11952/rsyslogd 
 
udp6      0      0 :::514                  :::*                                11952/rsyslogd 
 
 
 
=Logger=
 
*echo "Dies ist eine Meldung"  | logger -p local3.warn
 
*tail -f -n 1 /var/log/syslog
 
Sep  5 13:19:03 bajor root: Dies ist eine Meldung
 
 
 
=Eigene Regeln=
 
==Einfache Regeln==
 
===Programname===
 
*Logfile for tftpd
 
if $programname == 'in.tftpd' then /var/log/tftpd.log
 
 
 
===facility-text===
 
*60-meinlog.conf
 
if $syslogfacility-text == 'local3'  then /var/log/meinelog
 
*systemctl restart rsyslog.service
 
*echo "Hallo Welt"  | logger -p local3.warn
 
*tail -n 1 -f /var/log/meinelog
 
Sep  5 14:21:04 bajor root: Hallo Welt
 
 
 
===contains===
 
*60-meinlog.conf
 
if $msg contains '-iptables-' then /var/log/firewall
 
 
 
 
 
 
 
==expressions in parenthesis==
 
* not, unary minus
 
* *, /, % (modulus, as in C)
 
* +, -, & (string concatenation)
 
* ==, !=, <>, <, >, <=, >=, contains (strings!), startswith (strings!)
 
* and
 
* or
 
 
 
 
 
 
 
 
 
<b>legacy rsyslog</b>
 
 
 
Beginnen mit einem $-Zeichen. Zum Setzen von Konfigurationsparametern.
 
$FileOwner syslog
 
 
 
<b>RainerScript</b>
 
 
 
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=
 
=Quellen=
 
*http://www.rsyslog.com/doc/v8-stable/
 
*http://www.rsyslog.com/doc/v8-stable/
 
*https://de.wikipedia.org/wiki/Rsyslog
 
*https://de.wikipedia.org/wiki/Rsyslog
 
*http://www.laub-home.de/wiki/Syslog_Server_unter_Debian_Linux_mit_Rsyslog
 
*http://www.laub-home.de/wiki/Syslog_Server_unter_Debian_Linux_mit_Rsyslog

Aktuelle Version vom 18. Juli 2024, 09:07 Uhr