syslog-ng fremdlog in eigene Datei

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Arrpork
Beiträge: 111
Registriert: 25.02.2004 13:42:17

syslog-ng fremdlog in eigene Datei

Beitrag von Arrpork » 07.11.2007 15:30:17

Hallo,

wie schaffe ich es denn unter Debian Etch mit syslog-ng die Syslogmeldungen eines externen Device in eine eigene Datei umzuleiten.

Wenn ich die Auskommentierung bei "# udp()" entferne, werden alle Pakete in die Datei /var/log/messages geloggt. Es sollen aber eingehende Pakete der IP 192.168.22.23 in eine eigene Datei umgeleitet werden.

Leider habe ich auch beim googlen keine Lösung gefunden.

Gruß Arrpork

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.11.2007 17:36:28

Hm, lies dir mal die Dokumentation des syslog-ng durch. Ich denke, du brauchst dafür einen Filter auf den Host.
Das sollte dann in etwa so aussehen:

Code: Alles auswählen

source s_net { ... }
destination d_net_hostx { file("/var/log/hostx.log"; };
filter f_net_hostx { host('192.168.22.23'); };
log { source(s_net); filter(f_net_hostx); destination(d_net_hostx); };
Dann kann man da noch irgendwo ein final-Flag einbauen, damit die Meldungen nicht mehr in anderen Logfiles auftauchen, aber das finde ich grade auf die Schnelle nicht.

Benutzeravatar
goeb
Beiträge: 348
Registriert: 26.08.2006 18:12:08
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von goeb » 08.11.2007 20:43:18

Gute syslog-ng Einführung auf deutsch: http://www.wikidorf.de/reintechnisch/In ... infuehrung.

Und final müßte als

Code: Alles auswählen

flags(final);
mit in den log-Block.

Evtl. mußt du bei Host aufpassen, ist nen RegEx:

Code: Alles auswählen

filter f_net_hostx { host('^192.168.22.23$'); };
bewahrt dich evtl. davor auch Nachrichten von 192.168.22.231 mitzunehmen. Allerdings weiß ich nicht genau wie syslog-ng vorgeht, vielleicht reicht es ohne ^ und $ auch aus.

MfG, goeb

Antworten