PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : syslogd soll externe meldungen in eine extra datei schreiben



muell200
20.10.04, 13:41
hallo

mein server ( suse 9.1 ) dient als log-server für einen dsl-router.

ich habe den syslog-dienst so eingestellt, damit er remote meldungen annimmt ( option -r )

jetzt schreibt der syslog alle meldungen nach messages.

wie kann ich erreichen, damit der syslog alle externe meldungen in eine extra datei schreibt.
folgende meldungen tauchen auf:

Oct 20 13:36:16 192.168.1.1 klogd: Invalid packet: IN=ppp0 OUT= MAC= SRC=217.226.7.89 DST=217.226.157.70 LEN=52 TOS=0x00 PREC=0x00 TTL=60 ID=28858 DF PROTO=TCP SPT=3865 DPT=135 WINDOW=32767 RES=0x00 SYN URGP=0
Oct 20 13:36:21 192.168.1.1 klogd: Invalid packet: IN=ppp0 OUT= MAC= SRC=69.212.226.249 DST=217.226.157.70 LEN=48 TOS=0x00 PREC=0x00 TTL=117 ID=11367 DF PROTO=TCP SPT=60519 DPT=445 WINDOW=64240 RES=0x00 SYN URGP=0


Danke

temir
20.10.04, 19:03
in der /etc/syslog.conf wird es eingestellt.
Anhang der vorhandenen Einstellungen kann man das nötige eintragen
(oben Umleitung, unten bei messages pla-pla.none).

muell200
21.10.04, 09:47
in der /etc/syslog.conf wird es eingestellt.
Anhang der vorhandenen Einstellungen kann man das nötige eintragen
(oben Umleitung, unten bei messages pla-pla.none).


Danke, syslog.conf weis ich.

aber wie muss der eintrag heissen?

ich habe schon einigen versucht, nur leider macht syslog nicht das was ich will, ..

gruss muell200

Der Untergeher
02.11.04, 01:12
Hallo,

genau das Problem hatte ich auch. Der syslogd der bei Suse dabei ist erlaubt "mit Bordmitteln" nur das Filtern nach facility und priority. Allerdings läßt sich die Ausgabe in eine named pipe umleiten. Also erstmal eine solche anlegen:

mkfifo /var/adm/allmessages

... und dem syslogd in /etc/syslog.conf beibringen da doch bitte alles reinzuschreiben:

*.* |/var/adm/allmessages

Dann kann man in die named pipe auslesen, nach z.B. der Router-IP filtern und umleiten:

cat /var/adm/allmessages | grep "192.168.1.1 klogd" >> /var/log/routerlog&

Das ist sicher alles etwas zurechtgebastelt. Die bessere Wahl ist sicher einen hübscheren syslog-Dienst einzusetzen der solche Filtermöglichkeiten gleich mitbringt. Wenn da jemand Erfahrungen hat ...

Grüße

Untergeher

Tomek
02.11.04, 01:15
SuSE selbst bietet nur syslog an. Allerdings gibt es einige leistungsfähigere Alternativen, wie z.B. syslog-ng oder metalog.

Der Untergeher
03.11.04, 00:36
syslog-ng war ein gutes Stichwort. Und in Suse 9.1 ist es auch integriert. Einfach via Yast installieren und dann über sysconfig-Editor den Wert SYSLOG_DAEMON auf syslog-ng umschalten. Nach einem "/etc/init.d/syslog restart" läuft dann syslog-ng.
Konfiguriert wird er über "/etc/syslog-ng/syslog-ng.conf.in"; daraus erstellt dann ein Aufruf von "SuSEconfig" die tatsächliche Konfiguration (Suse halt ...).
Für den oben geschilderten Einsatzzweck eignen sich folgende Ergänzungen in dieser Datei:

source net {
udp(ip("0.0.0.0") port(514));
};

destination router_log { file("/var/log/router"); };
log { source(net); destination(router_log); };

Wie das genau funktioniert erfährt man entweder durch scharfes hinschauen oder - Überaschung - in "man syslog-ng.conf".

Frohes Schaffen

Untergeher