[log] Kernel ring buffer

Pagina: 1
Acties:

  • Lethalis
  • Registratie: April 2002
  • Niet online
Zoals jullie ongetwijfeld allemaal weten, kan je met dmesg kijken naar de boot messages en kernel errors. Heel handig, maar wat ik me nu afvraag: kan je ergens ook zien wanneer een bepaalde fout zich precies voordeed? Of kan je dit ergens instellen zodat het tijdstip gelogd wordt?

Bij voorbaat dank.

Ask yourself if you are happy and then you cease to be.


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:44

BoAC

Memento mori

Worden die boot/kernel messages/errors ook niet in de log gezet.
Bij de gentoo-distro staan ze gewoon in /var/log/messages met een datum-tijd ervoor ;)

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

BoAC schreef op 26 juli 2004 @ 15:18:
Worden die boot/kernel messages/errors ook niet in de log gezet.
Bij de gentoo-distro staan ze gewoon in /var/log/messages met een datum-tijd ervoor ;)
Dat bedacht ik idd ook; alleen het probleem is dat dmesg het buffer weergeeft wat nog niet altijd naar file is geschreven. Hierdoor komen de meeste dmesg berichten nog niet voor in je syslog. Ik kan in /etc/syslog.conf trouwens ook helemaal niets vinden over de configuratie van die dmesg applicatie (is dat geen onderdeel van syslog?)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:44

BoAC

Memento mori

Als ik inlog via ssh naar een gentoo-linux-bak zie ik op console 12 wel gelijk log-entries verschijnen dus ik denk dat et wel mee zal vallen met die offset ;)

De TS kan natuurlijk ook zijn eigen logger schrijven ;) ('man syslog' en 'man 3 syslog')

  • Lethalis
  • Registratie: April 2002
  • Niet online
Okay okay, 't is maandag :P

Het is tijd om mijn hoofd onder de koude kraan te houden :+

*tail -f /var/log/syslog* :z

Ask yourself if you are happy and then you cease to be.


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:44

BoAC

Memento mori

Lethalis schreef op 26 juli 2004 @ 15:38:
Okay okay, 't is maandag :P

Het is tijd om mijn hoofd onder de koude kraan te houden :+

*tail -f /var/log/syslog* :z
Hey die kon ik nog niet _/-\o_

Verwijderd

Lethalis schreef op 26 juli 2004 @ 15:38:
Okay okay, 't is maandag :P

Het is tijd om mijn hoofd onder de koude kraan te houden :+

*tail -f /var/log/syslog* :z
code:
1
2
tail: /var/log/syslog: No such file or directory
tail: no files remaining


man 8 klogd:
-o Execute in ’one-shot’ mode. This causes klogd to read and log
all the messages that are found in the kernel message buffers.
After a single read and log cycle the daemon exits.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Lethalis schreef op 26 juli 2004 @ 15:38:
Okay okay, 't is maandag :P

Het is tijd om mijn hoofd onder de koude kraan te houden :+

*tail -f /var/log/syslog* :z
:D Ik ging er eerlijk gezegd wel vanuit dat je dat al geprobeerd had :X
bash: *tail: command not found
:P

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

Spider.007 schreef op 26 juli 2004 @ 15:21:
Dat bedacht ik idd ook; alleen het probleem is dat dmesg het buffer weergeeft wat nog niet altijd naar file is geschreven. Hierdoor komen de meeste dmesg berichten nog niet voor in je syslog. Ik kan in /etc/syslog.conf trouwens ook helemaal niets vinden over de configuratie van die dmesg applicatie (is dat geen onderdeel van syslog?)
Kernel messages worden door klogd afgehandeld, niet door syslogd. Het is familie van elkaar, maar staat betreft werking wel los van elkaar. De ringbuffer blijft bewaard totdat hij uitgelezen wordt, en dat kun je ook maar een keer. De meeste distro's draaien gedurende het bootproces een dmesg -s getal > bestandje, zodat de inhoud ervan wordt veilig gesteld.

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:44

BoAC

Memento mori

igmar schreef op 26 juli 2004 @ 16:23:
[...]
Kernel messages worden door klogd afgehandeld, niet door syslogd. Het is familie van elkaar, maar staat betreft werking wel los van elkaar. De ringbuffer blijft bewaard totdat hij uitgelezen wordt, en dat kun je ook maar een keer. De meeste distro's draaien gedurende het bootproces een dmesg -s getal > bestandje, zodat de inhoud ervan wordt veilig gesteld.
'man syslog' zegt mij dat je als user de syslog alleen maar kan lezen en root hem wel kan legen ;)

  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

BoAC schreef op 26 juli 2004 @ 16:49:
'man syslog' zegt mij dat je als user de syslog alleen maar kan lezen en root hem wel kan legen ;)
Zeg ik wat anders dan :?

[ Voor 4% gewijzigd door igmar op 26-07-2004 21:04 ]


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:44

BoAC

Memento mori

Yep je bent niet helemaal volledig:
igmar schreef op 26 juli 2004 @ 16:23:
...
De ringbuffer blijft bewaard totdat hij uitgelezen wordt, en dat kun je ook maar een keer.
...
:P :>

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# man syslog
...
       Only  function  3  is  allowed  to non-root processes.  (Function 9 was
       added in 2.4.10.)

       The kernel log buffer
       The kernel has a cyclic  buffer  of  length  LOG_BUF_LEN  (4096,  since
       1.3.54:  8192,  since 2.1.113: 16384; in recent kernels the size can be
       set at compile time) in which messages given as argument to the  kernel
       function printk() are stored (regardless of their loglevel).

       The  call  syslog  (2,buf,len)  waits  until  this kernel log buffer is
       nonempty, and then reads at most len bytes  into  the  buffer  buf.  It
       returns  the  number  of  bytes read. Bytes read from the log disappear
       from the log buffer: the information can only be read  once.   This  is
       the  function  executed  by  the  kernel  when  a  user  program  reads
       /proc/kmsg.

       The call syslog (3,buf,len) will read the last len bytes from  the  log
       buffer (nondestructively), but will not read more than was written into
       the buffer since the last `clear ring buffer' command (which  does  not
       clear the buffer at all).  It returns the number of bytes read.

       The  call syslog (4,buf,len) does precisely the same, but also executes
       the `clear ring buffer' command.

       The call syslog (5,dummy,idummy) only executes the `clear ring  buffer'
       command.
...

[ Voor 77% gewijzigd door BoAC op 27-07-2004 08:23 ]

Pagina: 1