Pengenalan kepada tahap log kernel Linux

Pengenalan kepada tahap log kernel Linux

Objektif

Objektif tutorial ini adalah untuk mempelajari pelbagai tahap log kernel Linux, bagaimana mereka dianjurkan, dan bagaimana kita dapat menyiapkan mesej apa yang harus dipaparkan pada konsol bergantung pada keparahan mereka.

Keperluan

  • Keistimewaan root untuk mengedit fail konfigurasi

Kesukaran

Mudah

Pengenalan

Pengurusan fail log kernel Linux adalah satu aspek penting dari pentadbiran mesin: Log hanya boleh memaklumkan kepada kami tentang keadaan daemon, atau menunjukkan mesej kritikal atau amaran. Dalam tutorial ini, kita akan melihat pelbagai jenis tahap log yang digunakan oleh kernel Linux, bagaimana ia dianjurkan oleh keparahan dan bagaimana kita dapat menapis mesej yang dipaparkan pada konsol bergantung padanya.

Tahap log kernel Linux

Pada dasarnya terdapat lapan tahap log yang mesej yang dihantar oleh kernel Linux boleh mengadopsi, bermula dari Tahap 0 dan menurun dalam keterukan 'sehingga Tahap 7: pengenal tahap log terendah, konteks yang paling kritikal.

Apabila tahap log ditetapkan sebagai lalai untuk konsol, sama ada secara berterusan atau sementara, ia bertindak sebagai penapis, sehingga hanya mesej dengan tahap log yang lebih rendah daripada itu, (oleh itu mesej dengan keparahan yang lebih tinggi) dipaparkan. Mari kita lihat, secara ringkas, bagaimana tahap log dianjurkan:

Tahap log pertama adalah 0, dikenal pasti oleh Kern_emerg tali. Ini adalah tahap tertinggi dalam rangka keterukan: ia diterima pakai oleh mesej mengenai ketidakstabilan sistem atau kemalangan yang akan berlaku.

Loglevel 1, atau Kern_alert itulah yang berlaku sebaik sahaja. Tahap ini digunakan dalam situasi di mana perhatian pengguna diperlukan dengan segera.

Tahap log seterusnya mengikut keterukan adalah Kern_crit, atau Loglevel 2. Tahap keterukan ini digunakan untuk memaklumkan mengenai kesilapan kritikal, baik perkakasan atau perisian yang berkaitan.

Loglevel 3, juga dikenal pasti oleh Kern_err rentetan, itu seterusnya dalam skala. Mesej yang mengamalkan tahap ini sering digunakan untuk memberitahu pengguna mengenai kesilapan yang tidak kritikal, sebagai contoh pengiktirafan peranti yang gagal atau bermasalah, atau lebih banyak masalah yang berkaitan dengan pemandu.



Kern_warning, atau Loglevel 4 Ini tahap log yang biasanya digunakan sebagai lalai dalam majoriti pengagihan linux. Tahap ini digunakan untuk memaparkan amaran atau mesej mengenai kesilapan yang tidak akan berlaku.

Loglevel 5 itu Kern_notice. Mesej yang menggunakan tahap keterukan ini adalah mengenai peristiwa yang mungkin diperhatikan.

Loglevel 6 itu Kern_info: ini adalah tahap log yang digunakan untuk mesej maklumat mengenai tindakan yang dilakukan oleh kernel.

Akhirnya, kita ada Kern_debug, atau Loglevel 7, yang terutamanya digunakan untuk debugging.

Cara memeriksa tahap log lalai semasa

Memeriksa loglevel lalai yang digunakan pada sistem kami sangat mudah. Yang harus kita lakukan ialah mengkaji kandungan /proc/sys/kernel/printk fail. Bagi anda yang tidak tahu, /Proc ianya adalah sistem fail maya: fail yang terkandung di dalamnya sebenarnya tidak berada di cakera, tetapi merupakan perwakilan visual keadaan sistem yang dibuat oleh kernel dan dikekalkan dalam ingatan. Dalam kes ini, sebagai contoh, kita boleh menggunakan fail yang disebutkan di atas untuk menanyakan maklumat mengenai tahap log konsol lalai yang ditetapkan dalam sistem kami. Yang harus kita lakukan hanyalah menjalankan:

$ CAT/PROC/SYS/BERNEL/PRINTK

Ini adalah output biasa arahan:

4 4 1 7

Nilai pertama dalam output kami ialah semasa Console_loglevel. Inilah maklumat yang kami cari: nilainya, 4 Dalam kes ini, mewakili tahap log yang digunakan sekarang. Seperti yang dikatakan sebelum ini bermaksud bahawa hanya mesej yang mengamalkan tahap keterukan lebih tinggi daripada itu, akan dipaparkan di konsol.

Nilai kedua dalam output mewakili default_message_loglevel. Nilai ini digunakan secara automatik untuk mesej tanpa tahap log tertentu: jika mesej tidak dikaitkan dengan tahap log, yang satu ini akan digunakan untuknya.

Nilai ketiga dalam output melaporkan minimum_console_loglevel status. Ia menunjukkan loglevel minimum yang boleh digunakan untuk Console_loglevel. Tahap di sini menggunakannya 1, tertinggi.

Akhirnya, nilai terakhir mewakili default_console_loglevel, yang merupakan loglevel lalai yang digunakan untuk Console_loglevel pada masa boot.

Demi kesempurnaan, kita mesti mengatakan bahawa maklumat yang sama dapat diambil juga dengan menggunakan sysctl perintah, berjalan:

$ sysctl kernel.Printk


Menukar tahap log konsol lalai

Kami hanya melihat bagaimana untuk mendapatkan maklumat mengenai Loglevel semasa yang digunakan untuk konsol. Dalam beberapa situasi kita mungkin mahu mengubah nilai itu: mari kita lihat bagaimana kita dapat melaksanakan tugas ini.

Kaedah yang paling mudah yang boleh kita gunakan, adalah menulis nilai baru ke /proc/sys/kernel/printk fail. Walau bagaimanapun, ini adalah penyelesaian sementara, dan tetapan baru tidak akan berterusan reboot mesin. Katakan kami mahu menukar konsol lalai loglevel ke 3, Inilah yang akan kita jalankan:

$ echo "3" | sudo tee/proc/sys/kernel/printk

Atau jika menggunakan akar akaun secara langsung:

# echo "3">/proc/sys/kernel/printk

Dengan melihat kandungan fail, kami dapat mengesahkan Loglevel kini yang kami tentukan dalam perintah kami:

$ kucing/proc/sys/kernel/printk 3 4 1 7 

Kita dapat memperoleh hasil yang sama dengan menggunakan sysctl Perintah:

sudo sysctl -w kernel.printk = 3

Izinkan saya mengulanginya lagi: Ini adalah penyelesaian sementara, tidak berterusan. Untuk menukar loglevel lalai dengan cara yang berterusan, kita mesti mengubah suai /etc/lalai/grub fail, lulus Loglevel Parameter ke baris arahan kernel di but:

Grub_timeout = 5 grub_distributor = "$ (sed's, Release .*$ ,, g ' /etc /sistem-pelepasan) "grub_default = disimpan grub_disable_submenu = true grub_terminal_output =" konsol "grub_cmdline_linux ="Loglevel = 3 resume = uuid = df5a0685-43f8-433a-8611-57335a10ca8d "grub_disable_recovery =" true " 

Di atas adalah kandungan fail/etc/lalai/grub, dan menekankan ia adalah parameter yang harus ditambah ke Grub_cmdline_linux, yang mengandungi arahan baris arahan kernel. Dalam kes ini kita gunakan Loglevel = 3, Oleh kerana kami mahu menggunakan Loglevel khusus untuk konsol. Setelah mengubah fail dan menyimpan perubahan, kita mesti memuatkan semula grub supaya konfigurasi baru akan digunakan pada reboot seterusnya: Perintah untuk melaksanakan operasi ini bergantung pada pengedaran yang kita jalankan. Secara umumnya perintahnya:

$ sudo grub2 -mkconfig -o/boot/grub2/grub.cfg

Mengenai pengedaran berasaskan Debian, skrip pembalut digunakan pada dasarnya melakukan operasi yang sama:

$ sudo update-grub

Konfigurasi Grub akan dikemas kini, dan pada reboot seterusnya, tahap log yang ditentukan akan diterima pakai sebagai lalai.

Kesimpulan

Dalam tutorial ini kita telah belajar bagaimana log kernel Linux dianjurkan bergantung pada tahap keparahan mereka. Kami juga melihat bagaimana kami dapat mengubah persediaan lalai supaya hanya mesej tertentu yang dihantar oleh kernel dipaparkan pada konsol, menggunakan kriteria yang sama. Akhirnya kita melihat bagaimana untuk menjadikan perubahan tersebut berterusan.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Pembalakan Lanjutan dan Pengauditan di Linux
  • Cara Mengurus dan Menyelesaikan Log Kubernet
  • Fail Konfigurasi Linux: 30 teratas yang paling penting
  • Muat turun linux
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Pasang Arch Linux di Workstation VMware
  • Bolehkah linux mendapat virus? Meneroka kelemahan Linux ..