[Geloest] Syslog-ng Problem

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
johnny08
Beiträge: 21
Registriert: 08.03.2010 10:37:55

[Geloest] Syslog-ng Problem

Beitrag von johnny08 » 24.02.2011 13:39:12

Hi ihr alle,

kurz mal Angaben zum System:
debian - lenny
syslog-ng Version 2.0.9

Habe folgendes Problem: Und zwar sammeln wir auf einem Server mit syslog-ng die logs verschiedener Geräte ein, diese werden nach bestimmten Kriterien gefiltert(filter) und in jeweils eine eigene Datei(destination) geschrieben. Funktioniert auch super.

Allerdings landen die Syslog-Einträge nicht NUR in der eingestellen destination sondern ZUSÄTZLICH in /var/log/syslog. Kein Weltuntergang, aber macht die Sache auch nicht unbedingt übersichtlicher.

Hat jemand schon mal was ähnliches erlebt? Bei Bedarf, poste ich natürlich auch gerne die syslog-ng.conf.

Bin für jede Hilfe dankbar, da ich schon länger mit dem Problem kämpfe.

Schöne Grüße,
Johnny
Zuletzt geändert von johnny08 am 25.02.2011 09:11:06, insgesamt 1-mal geändert.

vitaminb
Beiträge: 57
Registriert: 22.02.2011 15:59:07

Re: Syslog-ng Problem

Beitrag von vitaminb » 24.02.2011 14:08:53

In der syslog-ng.conf spielt die Reihenfolge eine wichtige Rolle. Hast Du den Filter vor syslog oder messages gesetzt?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Syslog-ng Problem

Beitrag von rendegast » 24.02.2011 14:24:12

Die Output-Direktiven für syslog um negative Filter für die entsprechenden Logeinträge erweitern, Bsp.:

Code: Alles auswählen

filter f_dnsmasq {
    program(dnsmasq);
};

filter f_NO_DNSMASQ {
    not program(dnsmasq);
};

destination df_dnsmasq { file("/var/log/DNSMASQ.log"); };

log {
        source(s_all);
        filter(f_syslog);
        filter(f_NO_DNSMASQ);
        destination(df_syslog);
};

log {
        source(s_all);
        filter(f_daemon);
        filter(f_NO_DNSMASQ);
        destination(df_daemon);
};

log {
        source(s_all);
        filter(f_dnsmasq);
        destination(df_dnsmasq);
};
Die Reihenfolge der Filterdefinitionen in der conf ist egal, da sie eine Art Funktionsdefinition darstellt,
die dann in den Output-Direktiven auch mehrmals verwendet werden kann.
Da sind dann die logischen und/oder-Regeln, Klammern usw. zu beachten.





Bei rsyslog wird die weitere Bearbeitung von Logeinträgen durch einen einfachen Abschluß beendet,
zBsp. (squeeze / stable):

Code: Alles auswählen

:programname,regex,"^dnsmasq"  /var/log/DNSMASQ.log
:programname,regex,"^dnsmasq"  ~

Code: Alles auswählen

:programname,EREregex,"^smbd$|^nmbd$|^winbindd$"        /var/log/SAMBA-daemon-syslog
:programname,EREregex,"^smbd$|^nmbd$|^winbindd$"        ~
Zusätzlich mit dem Konfverzeichnis /etc/rsyslog.d/ ist das IMO erheblich einfacher
als die Pflege einer großen syslog-ng.conf.
Im Falle des dnsmasq schiebe ich ins Konfverzeichnis eine Datei mit zwei Zeilen,
wobei ich beim syslog-ng oben 6 Einträge machen muß.
Im Falle des Rückbau muß ich mindestens an 3 Stellen sauber arbeiten,
wogegen ich beim rsyslog einfach die Datei umbenenne.
(-> Immer die ursprüngliche syslog-ng.conf als Vergleichsmöglichkeit beibehalten!)

Leider ist die Doku insbesondere für regex (noch) nicht grandios,
die zweite Form oben mit 'EREregex' (muß!) habe ich "nicht sofort" gefunden (man-page?).
Zur Verwirrung funktioniert auch dieser hier mit 3 Komma:

Code: Alles auswählen

:programname,regex,,"^dnsmasq"  /var/log/DNSMASQ.log
:programname,regex,,"^dnsmasq"  ~

Der regex-Checker ist gewöhnungsbedürftig:
http://www.rsyslog.com/tool-regex
Er zielt auf die umfassendere, aber auch kompliziertere Template-Handhabung.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

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

Re: Syslog-ng Problem

Beitrag von nepos » 25.02.2011 08:13:03

Auch bei syslog-ng gibt es die Möglichkeit, zu sagen, dass nach dem Schreiben einer Logmeldung in ein Logfile da nichts weiter gemacht werden muss. Leider hab ich nicht mehr im Kopf, wie das genau hiess. Die Doku sollte allerdings weiterhelfen.

gxyz
Beiträge: 202
Registriert: 26.07.2010 13:54:21
Lizenz eigener Beiträge: MIT Lizenz

Re: Syslog-ng Problem

Beitrag von gxyz » 25.02.2011 08:17:25

nepos hat geschrieben:Auch bei syslog-ng gibt es die Möglichkeit, zu sagen, dass nach dem Schreiben einer Logmeldung in ein Logfile da nichts weiter gemacht werden muss.
flags(final);

johnny08
Beiträge: 21
Registriert: 08.03.2010 10:37:55

Re: Syslog-ng Problem

Beitrag von johnny08 » 25.02.2011 09:10:34

Super! Vielen Dank!

Nachdem ich die Log-Regeln an erste Stelle gesetzt und flags(final); gesetzt habe funkioniert es!

Also vielen Dank nochmal und schon mal ein schönes Wochenende!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: [Geloest] Syslog-ng Problem

Beitrag von rendegast » 25.02.2011 09:28:31

nepos hat geschrieben: Die Doku sollte allerdings weiterhelfen.
Nicht wirklich,
Im Paket syslog-ng_3.1.3-3 einziges Vorkommen im changelog:
...
commit 89577325b191f6ca029826971bf0744d495ef3a7
Author: Balazs Scheidler <bazsi@balabit.hu>
Date: Mon Dec 7 13:36:30 2009 +0100

The flow-control flag was sometimes enabled even if not requested by the user

In case a final or fallback flag was enabled on a log statement, it could enable
the flow-control on the same level.
...
-> admin-guide auf balabit.com.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten