Syslog, Konfiguration / Rotation auf Rootie

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Syslog, Konfiguration / Rotation auf Rootie

Post by andreask2 » 2004-07-08 10:55

Hallo!

Ich verwende syslog-ng als logger. Jetzt habe ich folgende syslog-ng.conf erstellt:

Code: Select all

#/etc/syslog-ng/syslog-ng.conf

options { long_hostnames(off); sync(0); };

#Quelle von der das Log gelesen werden soll
source src { unix-stream("/dev/log"); internal(); };
source kernsrc { file("/proc/kmsg"); };

#Ziele festlegen
destination authlog { file("/var/log/auth_$YEAR_$MONTH.log"); };
destination syslog { file("/var/log/syslog_$YEAR_$MONTH.log"); };
destination cron { file("/var/log/cron_$YEAR_$MONTH.log"); };
destination daemon { file("/var/log/daemon_$YEAR_$MONTH.log"); };
destination kern { file("/var/log/kern_$YEAR_$MONTH.log"); };
destination user { file("/var/log/user_$YEAR_$MONTH.log"); };
destination mail { file("/var/log/mail_$YEAR_$MONTH.log"); };

destination mailinfo { file("/var/log/mail_$YEAR_$MONTH.info"); };
destination mailwarn { file("/var/log/mail_$YEAR_$MONTH.warn"); };
destination mailerr { file("/var/log/mail_$YEAR_$MONTH.err"); };

destination newscrit { file("/var/log/news/news_$YEAR_$MONTH.crit"); };
destination newserr { file("/var/log/news/news_$YEAR_$MONTH.err"); };
destination newsnotice { file("/var/log/news/news_$YEAR_$MONTH.notice"); };

destination debug { file("/var/log/debug_$YEAR_$MONTH"); };
destination messages { file("/var/log/messages_$YEAR_$MONTH"); };
destination console { usertty("root"); };
destination console_all { file("/dev/tty12"); };
#destination xconsole { pipe("/dev/xconsole"); };

#Filter erstellen
filter f_auth { facility(auth); };
filter f_authpriv { facility(auth, authpriv); };
filter f_syslog { not facility(authpriv, mail); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern); };
filter f_mail { facility(mail); };
filter f_user { facility(user); };
filter f_debug { not facility(auth, authpriv, news, mail); };
filter f_messages { level(info..warn)
	and not facility(auth, authpriv, mail, news); };
filter f_emergency { level(emerg); };

filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };
filter f_failed { match("failed"); };
filter f_denied { match("denied"); };

#Filter und Ziele verbinden
log { source(src); filter(f_authpriv); destination(authlog); };
log { source(src); filter(f_syslog); destination(syslog); };
log { source(src); filter(f_cron); destination(cron); };
log { source(src); filter(f_daemon); destination(daemon); };
log { source(kernsrc); filter(f_kern); destination(kern); };
log { source(src); filter(f_mail); destination(mail); };
log { source(src); filter(f_user); destination(user); };
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };

log { source(src); filter(f_debug); destination(debug); };
log { source(src); filter(f_messages); destination(messages); };
log { source(src); filter(f_emergency); destination(console); };

#Standard-Log
log { source(src); destination(console_all); };
Was haltet Ihr von dieser Konfiguration für einen Rootie?

Zur Rotation verwende ich einen cronjob, aber leider funktioniert das mit den Makros nicht richtig,

Code: Select all

#Ziele festlegen
destination authlog { file("/var/log/auth_$YEAR_$MONTH.log"); };
schreibt leider nicht die Datei /var/log/auth_2004_07.log, sondern /var/log/auth_07.log. Versteht das jemand?

Oder haltet ihr hier den Einsatz von logrotate für sinnvoller?

Viele Grüße
Andreas

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Syslog, Konfiguration / Rotation auf Rootie

Post by captaincrunch » 2004-07-08 11:13

Oder haltet ihr hier den Einsatz von logrotate für sinnvoller?
Ja, denn genau dazu ist das Tool da. ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: Syslog, Konfiguration / Rotation auf Rootie

Post by andreask2 » 2004-07-08 12:23

hm, aber die genannte Variante braucht syslog nicht zu unterbrechen, logrotate dagegen schon, AFAIK. Aber gut, die paar millisekunden sind dann wohl nicht so wichtig.

Was mich mehr gestört hat, ist dass normalerweise die rotierten logs dann recht dämliche Namen haben, also messages.1 oder sowas, finde ich recht blöd wenn man was sucht. Oder kann man mit logrotate die archivierten Dateien auch umbenennen, nach dem Schema NAME_JAHR_MONAT?

Wie lange sollte man solche Log-Dateien eigentlich archivieren? Ich plane Logdateien monatlich komprimiert zu archivieren.

Haltet Ihr es für sinnvoll so viele Log-Dateien zu erstellen? Also messages alleine finde ich höchst unbersichtlich, auf der anderen Seite wird es auch unübersichtlich wenn man 12 verschiedene Log-Dateien hat. Wie macht Ihr das?

Meine Konfiguration habe ich weitgehend von
http://www.gentoo.org/doc/de/gentoo-sec ... hap4_sect4
und den Links in http://www.linux-magazin.de/Artikel/aus ... ebuch.html übernomen.

Grüße
Andreas