PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Syslog Problem lösen!



pc-geil
29.01.06, 20:14
Hi,
ich habe hier einen Wlan-Accesspoint und möchte gerne die Meldungen abfangen.
Also das Format ist Syslog, jedoch verstehe ich nicht den Syslog-ng server in SuSE 10.
Wie kann ich da remote nachrichten empfangen?
Also syslog habe ich schon mit dem Attribut -r aufgerufen.


#
# /etc/syslog-ng/syslog-ng.conf
#
# Automatically generated by SuSEconfig on So Jan 29 22:01:09 CET 2006.
#
# PLEASE DO NOT EDIT THIS FILE!
#
# you can modify /etc/syslog-ng/syslog-ng.conf.in instead
#
#
#
# File format description can be found in syslog-ng.conf(5)
# and /usr/share/doc/packages/syslog-ng/syslog-ng.txt.
#

#
# Global options.
#
options { long_hostnames(off); sync(0); perm(0640); stats(3600); };

#
# 'src' is our main source definition. you can add
# more sources driver definitions to it, or define
# your own sources, i.e.:
#
#source my_src { .... };
#
source src {
#
# include internal syslog-ng messages
# note: the internal() soure is required!
#
internal();

#
# the following line will be replaced by the
# socket list generated by SuSEconfig using
# variables from /etc/sysconfig/syslog:
#
unix-dgram("/dev/log");
unix-dgram("/var/lib/dhcp/dev/log");
unix-dgram("/var/lib/named/dev/log");

#
# uncomment to process log messages from network:
#
#udp(ip("0.0.0.0") port(514));
};
source remote{
internal();
udp(ip("192.168.0.50") port(514));
}

#
# Filter definitions
#
filter f_iptables { facility(kern) and match("IN=") and match("OUT="); };

filter f_console { level(warn) and facility(kern) and not filter(f_iptables)
or level(err) and not facility(authpriv); };

filter f_newsnotice { level(notice) and facility(news); };
filter f_newscrit { level(crit) and facility(news); };
filter f_newserr { level(err) and facility(news); };
filter f_news { facility(news); };

filter f_mailinfo { level(info) and facility(mail); };
filter f_mailwarn { level(warn) and facility(mail); };
filter f_mailerr { level(err, crit) and facility(mail); };
filter f_mail { facility(mail); };

filter f_cron { facility(cron); };

filter f_local { facility(local0, local1, local2, local3,
local4, local5, local6, local7); };

filter f_messages { not facility(news, mail) and not filter(f_iptables); };
filter f_warn { level(warn, err, crit) and not filter(f_iptables); };
filter f_alert { level(alert); };


#
# Most warning and errors on tty10 and on the xconsole pipe:
#
destination console { file("/dev/tty10" group(tty) perm(0620)); };
log { source(src); filter(f_console); destination(console); };

destination xconsole { pipe("/dev/xconsole" group(tty) perm(0400)); };
log { source(src); filter(f_console); destination(xconsole); };

# Enable this, if you want that root is informed immediately,
# e.g. of logins:
#
#destination root { usertty("root"); };
#log { source(src); filter(f_alert); destination(root); };


#
# News-messages in separate files:
#
destination newscrit { file("/var/log/news/news.crit"); };
log { source(src); filter(f_newscrit); destination(newscrit); };

destination newserr { file("/var/log/news/news.err"); };
log { source(src); filter(f_newserr); destination(newserr); };

destination newsnotice { file("/var/log/news/news.notice"); };
log { source(src); filter(f_newsnotice); destination(newserr); };

#
# and optionally also all in one file:
#
#destination news { file("/var/log/news.all"); };
#log { source(src); filter(f_news); destination(news); };


#
# Mail-messages in separate files:
#
destination mailinfo { file("/var/log/mail.info"); };
log { source(src); filter(f_mailinfo); destination(mailinfo); };

destination mailwarn { file("/var/log/mail.warn"); };
log { source(src); filter(f_mailwarn); destination(mailwarn); };

destination mailerr { file("/var/log/mail.err" fsync(yes)); };
log { source(src); filter(f_mailerr); destination(mailerr); };

#
# and also all in one file:
#
destination mail { file("/var/log/mail"); };
log { source(src); filter(f_mail); destination(mail); };


#
# Cron-messages in one file:
#
#destination cron { file("/var/log/cron"); };
#log { source(src); filter(f_cron); destination(cron); };


#
# Some boot scripts use/require local[1-7]:
#
destination localmessages { file("/var/log/localmessages"); };
log { source(src); filter(f_local); destination(localmessages); };


#
# All messages except iptables and the facilities news and mail:
#
destination messages { file("/var/log/messages"); };
log { source(src); filter(f_messages); destination(messages); };


#
# Firewall (iptables) messages in one file:
#
destination firewall { file("/var/log/firewall"); };
log { source(src); filter(f_iptables); destination(firewall); };


#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };

#
# Enable this, if you want to keep all messages in one file:
#
#destination allmessages { file("/var/log/allmessages"); };
#log { source(src); destination(allmessages); };


Ich muss doch bei Source etwas verändern, oder?
Kann mir da jemand ne Hilfestellung geben?
Danke

artspin
29.01.06, 22:21
Hilfestellung? Klar kein Problem:

http://www.nagios-wiki.de/doku.php/nagios/howtos/syslog
http://www.balabit.com/products/syslog_ng/reference-2.0/syslog-ng.html/index.html

Die syslog-ng-Konfiguration ist eigenlich recht einfach. Du definierst folgendes:
a) source -> wo kommen Log-Informationen her
b) destination -> wohin werden diese geschrieben
c) filter -> was interessiert in den Log-Informationen

Mit beispielsweise folgendere Zeile sagst du, nimm alles was an den Netzwerkinterfaces ankommt an:
source network { tcp(ip(0.0.0.0) port(514) max-connections(10)); };

Die logs sollen dann in der Datei mit dem Hostnamen landen:
destination n_messages { file("/var/log/$HOST.messages"); };

Hier legst du dann deinen log fest:
log { source(network); filter(f_messages); destination(n_messages); };

Aber les dir am besten einfach mal das howto durch.

Ciao
-=<artSpin>=-

Edit:
http://www.campin.net/syslog-ng/faq.html

pc-geil
30.01.06, 15:14
danke für die Links!
Danke nun habe ich alle Informationen die ich brauche.


Pc-Geil

pc-geil
10.02.06, 18:55
hi, nun ich habe nun alles mal gelesen und Zeit gefunden.

source remote{
internal();
udp(ip("192.168.0.1") port(514));
tcp(ip("192.168.0.1"));
};



destination wlan {file("/var/log/wlan");};
log { source(remote); destination(wlan); };


Das stimmt doch soweit, oder? Mein D-Link Router sollte auch es verschicken.
Doch syslog schreibt nix in die Datei die ich mit den richtigen Rechten angelegt habe.
Kann ich das irgendwie genauer beobachten, ob überhaupt ein datenstrom ankommt?

Edit: Kann ich eignetlich auf nem Linux Rechner zum Test ein UDP Packet erstellen, um zu testen und den Fehler Router auszuschliesen, wenn ja dann wie?

Danke

artspin
10.02.06, 21:33
Ich vermute mal, dass bei deinem source die eingetragene IP (192.168.0.1) die deines WLAN-Routers ist? Das wäre falsch, hier wird die IP eingetragen, an die dein syslog-Deamon gebunden wird. Auf gut Deutsch, wenn du in deinem System mehrere Netzwerkadapter eingebaut hast, kannst du auswählen, an welcher dein syslog lauschen soll. Normalerweise trägt man keine, bzw. folgendes

udp(ip("0.0.0.0") port(514));
ein.

Das log file wird automatisch erstellt, falls es noch nicht existiert.

Mit der Applikation logger kann man Logs generieren.