Linux 15.038 Themen, 107.132 Beiträge

klogd messages werden nicht über syslogd geloggt

RAO / 10 Antworten / Baumansicht Nickles

problem:
messages des klogd, wie z.b. nachdem man ein modul insgemodet hat,
werden nicht vom syslogd protokolliert.

in der syslog.conf steht:
*.* /dev/tty12

wenn klogd mit -f /var/log/klog gestartet wird werden alles messages
jedoch schon in diesem file geloggt.

version der sysklogd package:
1.4

tja, wer weiß da was?

danke!

bei Antwort benachrichtigen
Anonym RAO „klogd messages werden nicht über syslogd geloggt“
Optionen

Wenn Du klogd mit dem Parameter -f startest, werden die Meldungen
eben nicht im Syslog protokolliert. Lösung: Starte klogd ohne diesen
Parameter. Wenn Du weiterhin die Meldungen in einer eigenen Datei
ablegen willst, dann verwende eine Syslog Zeile der Form

kern.* -/var/log/klog

j. - www.obira.de

bei Antwort benachrichtigen
RAO Anonym „Wenn Du klogd mit dem Parameter -f startest, werden die Meldungen eben nicht im...“
Optionen

das ist ein missverständnis...
natürlich habe ich klogd ohne -f parameter gestartet.
ich wollte nur klarstellen dass der klogd die messages grundsätzlich
protokollieren kann, aber eben nur wenn ich den -f parameter verwende.

bei Antwort benachrichtigen
Anonym RAO „das ist ein missverständnis... natürlich habe ich klogd ohne -f parameter...“
Optionen

Hmm...haette mir auffallen können :)

Um ein weiteres Missverständniss auszuschließen:

>in der syslog.conf steht:
>*.* /dev/tty12

Dieser Eintrag sorgt lediglich dafür, daß alle Meldungen auf der
zwölften Konsole ausgegeben werden (CTRL-ALT-F12) aber nicht in
eine Datei geschrieben werden. Stehen noch weitere Zeilen in
Deiner syslog.conf ?

j. - www.obira.de

bei Antwort benachrichtigen
RAO Nachtrag zu: „klogd messages werden nicht über syslogd geloggt“
Optionen

ja,
da steht noch:

*.* /var/log/all

und ich hab auch schon versucht:
kern.* /var/log/kernel


alles wird geloggt, nur die klog messages nicht.

ich weiss hier nicht weiter...und hab auch keine lust im sourcecode zu
suchen, weil es ja eigentlich standardmäßig funktionieren müßte, und
ich deshalb das problem irgendwo anders vermute.
(irgendsoeine kleinigkeit vielleicht...)
achja: die richtige /boot/System.map ist vorhanden.


danke,
RAO

bei Antwort benachrichtigen
Anonym RAO „ja, da steht noch: . /var/log/all und ich hab auch schon versucht: kern....“
Optionen

Hm...naechste Vermutung: klog mit zu niedrigem level gestartet ?
(Parameter -c, bei mir mit level 1 gestartet)

j. - www.obira.de

bei Antwort benachrichtigen
RAO Anonym „Hm...naechste Vermutung: klog mit zu niedrigem level gestartet ? Parameter -c,...“
Optionen

nein,
hab schon -c 1 und -c 7 versucht.
ausserdem glaub ich daß der -c parameter nur die ausgabe auf die
console steuert, nicht die zum syslogd.

wenn ihr (jay und alle anderen die das lesen) ein modul aus dem kernel
entfernt und dann wieder einfügt, also z.b. das netzwerkkarten-modul,
wird das dann durch den syslogd protokolliert - bin ich also wirklich
der einzige dessen system das nicht kann oder ist es einfach so dass
der klogd das nicht kann? (will nur sichergehen)

RAO

bei Antwort benachrichtigen
Anonym RAO „nein, hab schon -c 1 und -c 7 versucht. ausserdem glaub ich daß der -c...“
Optionen

Das kommt auf das Modul an, einige Module sind sehr schweigsam
getreu dem Unix Motto: Keine Meldung ist eine Erfolgsmeldung.

Lade mal ein Modul mit falschen Parametern, und gib dem insmod
Kommando ein -v mit auf den Weg.

j. - www.obira.de

bei Antwort benachrichtigen
Anonym Nachtrag zu: „Das kommt auf das Modul an, einige Module sind sehr schweigsam getreu dem Unix...“
Optionen

Noch eine Anmerkung: Um zu kontrollieren, welche Meldungen eigentlich
vorhanden sind kannst Du den "dmesg" Befehl verwenden. Er liest den
Kernel Meldungspuffer direkt aus und zeigt ihn an. Alle Meldungen
die dort auftauchen, sollten auch im syslog stehen.

j. - www.obira.de

bei Antwort benachrichtigen
RAO Anonym „Noch eine Anmerkung: Um zu kontrollieren, welche Meldungen eigentlich vorhanden...“
Optionen

dmesg: genau mit diesem befehl bin ich darauf aufmerksam geworden
dass kernel messages nicht vom syslogd protokolliert werden.
dmesg gibt eine menge zeugs aus und das erscheint eben nicht in den
logfiles.

ich hab aber auch keinen bock einen "dmesg -c | logger" (oder so)
cronjob laufen zu lassen. ;-)

das mit dem falschen parameter und -v für ein insmod modul hat auch
nicht hingehauen.

ich glaub, ich habs noch nicht gesagt:
ich verwende die unveränderte sourcepackage von sysklogd-1.4,
vielleicht patchen die die distributoren bevor sie sie kompilieren?



bei Antwort benachrichtigen
RAO Nachtrag zu: „klogd messages werden nicht über syslogd geloggt“
Optionen

hi jay und alle anderen,

habe den maintainern/autoren der sysklogd package gemailt und hier ist
die antwort:

The 1.4 release of sysklogd broke due to the fact that the local copy
of syslog.c that is needed by klogd was not changed to use a DGRAM
rather than a STREAM socket.

Go to line 208 of syslog.c and change the SOCK_STREAM define to a
SOCK_DGRAM in the socket function call. Recompile the package and
klogd should work the way that it is supposed to.


funktioniert auch ...

bei Antwort benachrichtigen