====== rsyslog ====== Beispiel: Logdaten von einem Rechner auf den nächsten übertragen ===== Zielrechner: ===== Zielrechner netzwerkfähig machen: Passende Nachrichten in Datei ''/var/log/beispiel'' schreiben: === Debian, CentOS === ''/etc/rsyslog.conf'': ( debian 5.0, centos 6.0, ubuntu 18.04 ) $ModLoad imudp $UDPServerRun 514 $template RemoteHost,"/var/log/remote/%HOSTNAME%.log" local5.info ?RemoteHost Syntax der Konfigurationsdatei überprüfen: rsyslogd -N1 ((http://www.rsyslog.com/how-can-i-check-the-config/ )) Syslog neu starten: service rsyslog restart === SuSE === ''/etc/rsyslog.d/remote.conf'': ( sles 11 SP 1 ) $ModLoad imudp $UDPServerRun 514 ''/etc/rsyslog.conf'': ( debian 5.0 ) local5.info -/var/log/beispiel Syslog neu starten: /etc/init.d/syslog restart ===== Absender-Rechner: ===== ''/etc/rsyslog.d/local5.conf'' : local5.info @zielrechner Syslog neu einlesen: service rsyslog restart Testen: Meldung abschicken: logger -p local5.info "Testmeldung" Über's Netz direkt an syslog-Server: logger -p local5.info -n notebook03 --tcp --port 514 "tcp test" ===== property based filter ===== Auf dem Zielrechner: :syslogtag, isequal, "ingo:" /var/log/ingo.log & ~ # in der vorherigen Zeile ausgegebene Meldungen nicht erneut ausgeben :source , !isequal , "notebook02" ~ ====== syslog-ng ====== Beispiel: Eine eigene log-Regel schreiben: ''/etc/syslog-ng/syslog-ng.conf.in'': (SuSE bis 10.1) ''/etc/syslog-ng/syslog-ng.conf'': (SuSE ab 10.2) filter f_ingo { level(warn) and program(logger); }; destination ingo_log { file("/var/log/ingo.log"); }; log { source(src); filter(f_ingo); destination(ingo_log); }; Configdatei überprüfen: syslog-ng -s Dienst neu starten und evtl. SuSEconfig glücklich machen /sbin/conf.d/SuSEconfig.syslog-ng /etc/init.d/syslog restart Testen: logger -p local1.warn -t logger "Dies ist eine Testmeldung" Beispiel: Logdaten von einem Rechner auf den nächsten übertragen ===== Zielrechner: ===== Zielrechner netzwerkfähig machen : ''/etc/syslog-ng/syslog-ng.conf.in'': (SuSE bis 10.1) ''/etc/syslog-ng/syslog-ng.conf'': (SuSE ab 10.2) source src{ ... udp(ip("0.0.0.0") port(514)); }; Meldungen bestimmter Log-Facilities und Log-Priorities werden durch Filter und Destination definiert filter f_local5 { level(info) and facility(local5); }; destination d_local5 { file("/var/log/beispiel"); }; log { source(src) ; filter(f_local5) ; destination(d_local5); }; Danach ''SuSEconfig'' oder ''/sbin/conf.d/SuSEconfig.syslog-ng'' aufrufen um die Änderungen permanent zu übertragen und syslog-ng reloaden. rcsyslog reload ===== Absender-Rechner ===== ''/etc/syslog-ng/syslog-ng.conf.in'': (SuSE bis 10.1) ''/etc/syslog-ng/syslog-ng.conf'': (SuSE ab 10.2) destination d_ziel { udp( "Zielrechner" port(514) ); }; log { source(src); destination(d_ziel); }; ''SuSEconfig'' aufrufen zum Ändern der Konfigdatei und syslog reloaden rcsyslog reload ====== Doku ====== Jede Logmeldung besitzt eine __priority__\\ die sich zusammensetzt aus einer __facility__ und einem __level__:\\ prio=fac.level ==== Facility ==== Nicht jedes Linux/Unix hat alle Facilities: Facility Description ---------------------------- auth/security Activity related to requesting name and password (getty, su, login) authpriv Same as auth but logged to a file that can only be read by selected users console Used to capture messages that would generally be directed to the system console cron Messages from the cron system scheduler daemon System daemon catch-all ftp Messages relating to the ftp daemon kern Kernel messages local0.local7 ==== Level (Severity) ==== 0 emerg Emergency condition, such as an imminent system crash, usually broadcast to all users 1 alert Condition that should be corrected immediately, such as a corrupted system database 2 crit Critical condition, such as a hardware error 3 err Ordinary error 4 warning Warning 5 notice Condition that is not an error, but possibly should be handled in a special way 6 info Informational message 7 debug Messages that are used when debugging programs none Pseudo level used to specify not to log messages. ''debug, info, notice, warning, warn (same as warning), err, error (same as err), crit, alert, emerg, panic (same as emerg)'' (( Testskript für Alles for fac in auth authpriv cron daemon ftp kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7; do for lev in debug info notice warning err crit alert emerg; do logger -p "${fac}.${lev}" "${fac}.${lev}" done done )) ===== Syslog ===== * http://de.linwiki.org/wiki/Linuxfibel_-_System-Administration_-_Protokollierung ===== Syslog-NG ===== * http://www.linux-magazin.de/Artikel/ausgabe/2003/11/tagebuch/tagebuch.html * http://www.wikidorf.de/reintechnisch/Inhalt/SyslogNGEinfuehrung * http://www.balabit.com/products/syslog_ng/reference-1.6/syslog-ng.html/book1.html