GNU/Linux >> Znalost Linux >  >> Linux

Linux Centos s časovým razítkem dmesg

Řešení 1:

dmesg čte kruhovou vyrovnávací paměť protokolu jádra. Nedělá časová razítka. Co byste měli udělat, je nakonfigurovat syslog tak, aby uchopil protokoly jádra z této vyrovnávací paměti a odeslal je do souboru (pokud to již není nastaveno). Poznámka, výchozí konfigurace syslogu CentOS 5.x odesílá protokoly jádra na /var/log/messages , jak si vzpomínám.

Pokud chcete odeslat všechny protokoly jádra (dmesg) na /var/log/kern.log , pomocí výchozího démona syslog byste do /etc/syslog.conf přidali řádek podobný následujícímu

kern.*                         /var/log/kern.log

Řešení 2:

Existuje řešení "Povolení časových razítek pro dmesg/Kernel Ring Buffer"

Můžete přidat:

printk.time=1

do cmdline jádra.

Pokud jde o mě, přidal jsem do rc.local na všech strojích s loutkou. Je to pro mě jednodušší) :

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

Řešení 3:

Napsal jsem tento jednoduchý skript. Ano, je to pomalé. Pokud chcete něco rychlejšího, buď ve skutečnosti napíšete skript v perlu, pythonu nebo něčem jiném. Jsem si jistý, že tento jednoduchý skript vám může napovědět, jak jej lze vypočítat.

Vezměte prosím na vědomí, že jsem ignoroval zlomek sekund zaznamenaný v každém řádku (za . v časovém razítku).

#!/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

Doufám, že to pomůže. :)


Linux
  1. Jak nainstalovat Linux Kernel 5.0 na CentOS 7

  2. Linux – Jsou různá jádra Linux/unix zaměnitelná?

  3. Změnit výchozí jádro (zavést se starým jádrem) – CentOS/RHEL/OEL 7

  1. CentOS / RHEL:Vyloučení s Yum pro aktualizace jádra

  2. Kompilace GNU/Linux s optimalizací -O3

  3. Ladění linuxového jádra pomocí QEMU

  1. Analyzujte linuxové jádro pomocí ftrace

  2. Příkaz dmesg pro Linux - Tisk kruhové vyrovnávací paměti jádra

  3. Přejmenování souborů v linuxu pomocí regulárního výrazu