GNU/Linux >> Tutoriales Linux >  >> Linux

Linux Centos con marca de tiempo dmesg

Solución 1:

dmesg lee el búfer de anillo de registro del kernel. No hace marcas de tiempo. Lo que debe hacer es configurar syslog para tomar los registros del kernel de ese búfer y enviarlos a un archivo (si aún no está configurado para hacerlo). Tenga en cuenta que la configuración predeterminada de syslog de CentOS 5.x envía los registros del kernel a /var/log/messages , según recuerdo.

Si desea enviar todos los registros del kernel (dmesg) a /var/log/kern.log , utilizando el demonio syslog predeterminado, agregaría una línea como la siguiente a /etc/syslog.conf

kern.*                         /var/log/kern.log

Solución 2:

Hay una solución "Habilitación de marcas de tiempo para dmesg/Kernel Ring Buffer"

Podrías agregar:

printk.time=1

a la línea de comandos del núcleo.

En cuanto a mí, he añadido a rc.local en todas las máquinas con marionetas. Es más fácil para mí) :

if test -f /sys/module/printk/parameters/time; then
   echo 1 > /sys/module/printk/parameters/time
fi

Solución 3:

He escrito este simple script. Sí, es lento. Si quiere algo más rápido, puede escribir un script en perl, python o algo más. Estoy seguro de que esta secuencia de comandos simple puede ayudarlo a comprender cómo se puede calcular.

Tenga en cuenta que ignoré la fracción de segundos registrada en cada línea (después de . en la marca de tiempo).

#!/bin/bash
localtime() {
 perl -e "print(localtime($1).\"\n\");";
}

upnow="$(cut -f1 -d"." /proc/uptime)"
upmmt="$(( $(date +%s) - ${upnow} ))"

dmesg | while read line; do
 timestamp="$(echo "${line}" | sed "s/^\[ *\([0-9]\+\).*/\1/g")"
 timestamp=$(( ${timestamp} + ${upmmt} ))
 echo "${line}" | sed "s/^[^]]\+]\(.*\)/$(localtime "${timestamp}") -\1/g"
done

Espero que ayude. :)


Linux
  1. Analizar el kernel de Linux con ftrace

  2. Herramientas de Linux:enviar el mensaje con dmesg

  3. Cómo instalar Linux Kernel 5.0 en CentOS 7

  4. Linux:¿los diferentes kernels de Linux/unix son intercambiables?

  5. Cambiar kernel predeterminado (arranque con kernel antiguo) – CentOS/RHEL/OEL 7

Núcleo de Linux vs. Núcleo de Mac

Administre y monitoree los módulos del kernel de Linux con Kmon

Imprimir marca de tiempo con salida de comando ping en Linux

¡Parche el kernel Linux de Raspberry Pi con KernelCare GRATIS!

Mostrar información del módulo del kernel de Linux con el comando Modinfo

Actualice el kernel de Linux de CentOS 8