Beispiel: Logdaten von einem Rechner auf den nächsten übertragen
Zielrechner netzwerkfähig machen:
Passende Nachrichten in Datei /var/log/beispiel
schreiben:
/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
Syslog neu starten:
service rsyslog restart
/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
/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"
Auf dem Zielrechner:
:syslogtag, isequal, "ingo:" /var/log/ingo.log & ~ # in der vorherigen Zeile ausgegebene Meldungen nicht erneut ausgeben :source , !isequal , "notebook02" ~
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 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
/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
Jede Logmeldung besitzt eine priority
die sich zusammensetzt aus einer facility und einem level:
prio=fac.level
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 <Local facilities defined per site lpr Messages from the line printing system mail Messages relating to the mail system mark Pseudo event used to generate timestamps in log files news Messages relating to network news protocol (nntp) ntp Messages relating to network time protocol syslog Syslog service user Regular user processes uucp UUCP subsystem
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)
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