GNU/Linux >> Belajar Linux >  >> Linux

Linux Centos dengan stempel waktu dmesg

Solusi 1:

dmesg membaca buffer cincin log Kernel. Itu tidak melakukan cap waktu. Yang harus Anda lakukan adalah mengonfigurasi syslog untuk mengambil log kernel dari buffer itu dan mengirimkannya ke file (jika belum diatur untuk melakukannya). Perhatikan, konfigurasi syslog CentOS 5.x default mengirimkan log kernel ke /var/log/messages , seingat saya.

Jika Anda ingin mengirim semua log kernel (dmesg) ke /var/log/kern.log , menggunakan daemon syslog default, Anda akan menambahkan baris seperti berikut ke /etc/syslog.conf

kern.*                         /var/log/kern.log

Solusi 2:

Ada solusi "Mengaktifkan Stempel Waktu untuk dmesg/Kernel Ring Buffer"

Anda dapat menambahkan:

printk.time=1

ke kernel cmdline.

Bagi saya, saya telah menambahkan ke rc.local di semua mesin dengan boneka. Lebih mudah bagi saya) :

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

Solusi 3:

Saya telah menulis skrip sederhana ini. Ya, itu lambat. Jika Anda menginginkan sesuatu yang lebih cepat, Anda sebenarnya menulis skrip di perl, python, atau yang lainnya. Saya yakin skrip sederhana ini dapat membantu Anda memahami cara menghitungnya.

Perlu diketahui bahwa saya mengabaikan pecahan detik yang terdaftar di setiap baris (setelah . di stempel waktu).

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

Saya harap ini membantu. :)


Linux
  1. Analisis kernel Linux dengan ftrace

  2. Cara Menginstal Kernel Linux 5.0 di CentOS 7

  3. Linux – Apakah Kernel Linux/unix yang Berbeda Dapat Dipertukarkan?

  1. Ubah kernel default (boot dengan kernel lama) – CentOS/RHEL/OEL 7

  2. CentOS / RHEL :Pengecualian dengan Yum Untuk Pembaruan Kernel

  3. Mengkompilasi GNU/Linux dengan optimasi -O3

  1. Perintah Linux dmesg - Cetak Kernel Ring Buffer

  2. Alat Linux:Menyampaikan pesan dengan dmesg

  3. Debugging Kernel Linux dengan QEMU