Hallo,
ich habe unter SuSE 7.2 metalog installiert und möchte tageweise loggen (also alles, was an einem Tag passiert, in ein Logfile schreiben lassen).
In der Datei "/etc/metalog.conf" habe ich maxsize auskommentiert.
Leider sind jetzt die erstellten Logfiles ziemlich genau 1MB groß und werden geschrieben.
Ich möchte aber erreichen, daß alles, was zwischen 00:00:00 und 23:59:59 passiert, in einer Datei landet, egal, wie groß die Datei wird.
Was muß ich in "metalog.conf" ändern/eintragen, damit das passiert?
Vielen Dank im Voraus.
Linux 15.070 Themen, 107.540 Beiträge
Hi T-Rex,
7.3 ist nicht mehr die aktuellste Distri von SuSE (8.0, 8.1, 8.2) (bei mir sind die metalogs = 8.2 nicht vorhanden!). Poste die logfiles.............
cu
NANÜ
Ich hatte es installiert, weil ich mit syslogd nicht tageweise loggen konnte (und meine Scripterfahrungen und -Kenntnisse halten sich in Grenzen, so daß ich kein eigenes Logrotate bauen konnte).
Die Logfiles sehen wie die von syslog auch aus, nur sind sie eben auch nicht tageweise ausgerichtet.
da hätte ich lange suchen können..........;-), habe auf einer Konsole eben mal "man syslog" (SuSE 8.2) eingegeben, steht so gut wie alles drin, was dein Problem betrifft, ansonsten schau mal Hier = Klick oder hier das Script:
# metalog.conf.
maxsize = 100000
maxtime = 86400 = 24 Stunden in sec
maxfiles = 5 auf deinen Wert heraufsetzen
den Rest habe ich mir nicht durchgelesen............
##########################################################################
Kernel messages :
facility = "kern"
logdir = "/var/log/kernel"
# 0 is critical, 7 is debug.
Everything important :
facility = "*"
minimum = 6
logdir = "/var/log/everything"
Everything very important :
facility = "*"
minimum = 1
logdir = "/var/log/critical"
##########################################################################
# now let's get all the facilities.
auth & authpriv:
facility = "auth"
facility = "authpriv"
logdir = "/var/log/auth"
cron :
facility = "cron"
logdir = "/var/log/cron"
daemon :
facility = "daemon"
logdir = "/var/log/daemon"
ftp:
facility = "ftp"
logdir = "/var/log/ftp"
# Already done above.
#Kernel messages :
# facility = "kern"
# logdir = "/var/log/kernel"
lpr:
facility = "lpr"
logdir = "/var/log/lpr"
mail:
facility = "mail"
logdir = "/var/log/mail"
news:
facility = "news"
logdir = "/var/log/news"
security:
facility = "security"
logdir = "/var/log/security"
syslog:
facility = "syslog"
logdir = "/var/log/syslog"
user:
facility = "user"
logdir = "/var/log/user"
uucp:
facility = "uucp"
logdir = "/var/log/uucp"
local0:
facility = "local0"
logdir = "/var/log/local0"
local1:
facility = "local1"
logdir = "/var/log/local1"
local2:
facility = "local2"
logdir = "/var/log/local2"
local3:
facility = "local3"
logdir = "/var/log/local3"
local4:
facility = "local4"
logdir = "/var/log/local4"
local5:
facility = "local5"
logdir = "/var/log/local5"
local6:
facility = "local6"
logdir = "/var/log/local6"
local7:
facility = "local7"
logdir = "/var/log/local7"
##########################################################################
# All the servers.
#apache
#atd
#authdaemond
#autofs
#courier-imapd
#courier-imapd-ssl
#courier-pop3d
#courier-pop3d-ssl
#crypto-loop
#cupsd
cups:
facility = "*"
program = "cupsd"
logdir = "/var/log/cupsd"
#dhcp
dhcp:
facility = "*"
program = "dhcpd"
logdir = "/var/log/dhcpd"
#distccd
distcc :
facility = "*"
program = "distccd"
logdir = "/var/log/distccd"
#exim
exim :
facility = "*"
program = "exim"
logdir = "/var/log/exim"
#fam
#fetchmail
#gpm
#hotplug
#inetd
#iptables
#lisa
#mysql
#named
named (bind) :
facility = "*"
program = "named"
logdir = "/var/log/named"
#nfs
#nscd
#ntpd
ntpd :
facility = "*"
program = "ntpd"
logdir = "/var/log/ntpd"
#pmud
#pbbuttonsd
#portmap
#pppd
pppd :
facility = "*"
program = "pppd"
logdir = "/var/log/pppd"
#rsyncd
#samba
#spamd
#squid
#sshd
SSH Server :
facility = "*"
program = "sshd"
logdir = "/var/log/sshd"
#vcron
#windind
#xdm
#xfs
#xinetd
#ypbind
#yppasswdd
#ypserv
yp server:
facility = "*"
program = "ypserv"
logdir = "/var/log/ypserv"
yp bind:
facility = "*"
program = "ypbind"
logdir = "/var/log/ypbind"
yp passwd:
facility = "*"
program = "yppasswdd"
logdir = "/var/log/yppasswdd"
##########################################################################
# Miscellaneous stuff & examples.
Password failures :
regex = "(password|login|authentication)\s+(fail|invalid)"
regex = "(failed|invalid)\s+(password|login|authentication)"
regex = "ILLEGAL ROOT LOGIN"
logdir = "/var/log/pwdfail"
# command = "/usr/local/sbin/mail_pwd_failures.sh"
#Add authenticated IP addresses for SMTP relaying :
# program = "/usr/sbin/ipop3d"
# regex = "Login.+nmsgs="
# command = "/usr/local/sbin/add_pop_address.sh"
#
#Uncomment and adjust the following lines to
#your needs to enable console logging
#
# Hint: you can change the device to which
# should be logged in /usr/sbin/consolelog.sh
#
#console logging :
#
# facility = "*"
# command = "/usr/sbin/consolelog.sh"
Hoffe, es hilft dir weiter.........
cu
NANÜ
Danke, das kenne ich (habe ich an meine Bedürfnisse angepaßt, da nicht alle genannten Dienste laufen).
Das ist das Problem:
Sep 27 23:30:38 [fetchmail] not flushed
...
...
...
Sep 28 16:28:54[fetchmail] not flushed
In einem Logfile stehen Logmessages von zwei Tagen, ich möchte aber für jeden Tag ein separates Logfile anlegen lassen.
Und genau das bekomme ich nicht hin.
hast du dir mal die Konfigurationshilfe über den geposteten Link angeschaut? Macht einen guten Eindruck.
Ansonsten, da ich auch nicht gerade ein Spezialist in Sachen Script schreiben bin, würde ich die maxtime = von 86400 auf 86399 ändern.........solte den Taglog unterbrechen?!
So, ab in die......bis denne + viel Erfolg noch.
cu
NANÜ
Nachtrag:
Ausschnitt aus der Hilfe = KLICK MICH Das müßte es sein...............
Metalog muss natürlich auch erstmal Konfiguriert werden. Die Konfigurationsdatei ist aber sehr einfach und verständlich aufgebaut.
maxsize = 100000
maxtime = 86400
maxfiles = 3
Metalog hat einen eingebauten Log Rotierer, der durch maxsize, maxtime und maxfiles konfiguriert wird.maxsize gibt die maximale Größe einer Log Datei an, maxtime das Alter in Sekunden die die Dateierreichen darf und maxfiles gibt die Menge der Dateien an, die aufbewahrt werden. Die Orte an denen metalog lauschen soll, werden wie folgt festgelegt.
Kernel Nachrichten :
facility = "kern"
logdir = "/var/log/kernel"
"Kernel Nachrichten :" gibt den Namen, dieses Abschnitts an, Sie sind bei der Namenswahl keinen Beschränkungen Unterworfen, metalog ignoriert diese Angabe, sie dient lediglich dazu die Datei übersichtlicher zu machen. "facility" gibt den Ort an, an denen Metaloglauschen soll, hier werden die selben Bezeichner wie bei syslog benutzt, wenn Sie also halbwegs wissen wie syslog konfiguriert wird, sollten Sie keine Probleme mit metalog haben. "logdir" gibt den Ort an wo die Log Dateien gespeichert werden. Sie müssen hier einen Ordner eintragen, wie z.B. /var/log/kernel, Sie müssen den Ordner selbst erstellen,das macht metalog nämlich nicht automatisch, die Datei in die geloggt wird heisst "current", das lässt sich meines Wissens leider nicht umstellen. Die Dateinamen der rotierten Logs ist, log-JAHR-MONAT-TAG-UHRZEIT (z.B. log-2002-03-13-19:48:27), die Datein landen auch imangegebnen Verzeichniss, in diesem Fall also /var/log/kernel. Wenn Sie eine Beispiel Konfigurationsdatei haben wollen, können Sie diesebei http://www.lfsforum.org/download/metalog.conf.bz2 runterladen (es handeltsich dabei um meine metalog.conf, die hier jeden Tag im Einsatz ist). Sie haben dann noch die Option "minimum", hier können Sie die Stufe der Nachrichten einstellen, die geloggt werden.
Hi NANÜ,
danke, aber das hilft mir nicht wirklich.
Wie bekomme ich die Sekunden raus, die noch bis Mitternacht bevorstehen?
Ich möchte jetzt versuchen, maxtime auf "Sekunden bis Mitternacht" zu setzen.
Vielleicht bekomme ich das hin.
