====== 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